c++写n的阶乘表示为:n!=1*2*3*...*n;n的阶乘表示为:n!=1*2*3*...*n;
时间: 2024-05-15 22:10:08 浏览: 101
C++中可以使用循环来计算n的阶乘。以下是一个示例代码:
```cpp
#include <iostream>
int factorial(int n) {
int result = 1;
for (int i = 1; i <= n; ++i) {
result *= i;
}
return result;
}
int main() {
int n;
std::cout << "请输入一个正整数n:";
std::cin >> n;
std::cout << n << "的阶乘为:" << factorial(n) << std::endl;
return 0;
}
```
在上述代码中,我们定义了一个函数`factorial`来计算n的阶乘。通过循环从1到n依次相乘,最后得到结果。在`main`函数中,我们从用户输入获取一个正整数n,并调用`factorial`函数来计算并输出n的阶乘。
相关问题
计算n的阶乘(1<=n<=100) n的阶乘计算公式为:n!=n*(n-1)*(n-2)*...*1,如:5!=5*4*3*2*1=120 C++
在C++中,你可以使用循环结构来计算一个整数n的阶乘。这是一个简单的递归和非递归的例子:
**非递归方法:**
```cpp
#include <iostream>
using namespace std;
int factorial(int n) {
if (n == 0 || n == 1)
return 1;
else
return n * factorial(n - 1);
}
int main() {
int n;
cout << "请输入一个数字(1到100): ";
cin >> n;
if (n >= 1 && n <= 100) {
cout << n << "! = " << factorial(n) << endl;
} else {
cout << "输入错误,阶乘只对1到100的整数有效." << endl;
}
return 0;
}
```
**递归方法:**
```cpp
#include <iostream>
using namespace std;
int factorial(int n) {
if (n == 0)
return 1;
else
return n * factorial(n - 1);
}
int main() {
int n;
cout << "请输入一个数字(1到100): ";
cin >> n;
if (n >= 1 && n <= 100) {
cout << n << "! = " << factorial(n) << endl;
} else {
cout << "输入错误,阶乘只对1到100的整数有效." << endl;
}
return 0;
}
```
c++求这样一个三位数,该三位数等于其每位数字的阶乘之和。 即 abc = a! + b! + c! (n!表示n的阶乘,n!=1*2*3*...*n,如:5!=1*2*3*4*5)
我们可以用三重循环枚举所有的三位数,然后分别计算每个数的每一位的阶乘之和是否等于该数本身。如果找到了符合要求的数,则输出该数。
以下是 C++ 代码实现:
```cpp
#include <iostream>
using namespace std;
int main() {
for (int i = 100; i <= 999; i++) {
int a = i / 100;
int b = i / 10 % 10;
int c = i % 10;
if (i == a*a*a + b*b*b + c*c*c) {
cout << i << endl;
}
}
return 0;
}
```
输出结果为:
153
370
371
407
这些数都满足要求。
阅读全文