c++编程求1到n的阶乘
时间: 2023-09-13 17:14:05 浏览: 75
以下是求1到n的阶乘的C语言代码:
```c
#include <stdio.h>
int main() {
int n, i;
long long fact = 1;
printf("请输入一个正整数 n:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
fact *= i;
}
printf("%d 的阶乘为 %lld\n", n, fact);
return 0;
}
```
该程序通过循环计算1到n之间所有数的阶乘,并输出结果。需要注意的是,当n比较大时,阶乘的结果可能会超过long long类型的范围,需要使用高精度计算。
相关问题
用c++编程求y,y为1到n的阶乘的倒数之和, 要求y为float型
以下是求y的C++代码:
```c++
#include <iostream>
using namespace std;
int main() {
int n;
float y = 0;
cout << "请输入n的值:";
cin >> n;
for (int i = 1; i <= n; i++) {
float factorial = 1;
for (int j = 1; j <= i; j++) {
factorial *= j;
}
y += 1 / factorial;
}
cout << "y为:" << y << endl;
return 0;
}
```
在上面的代码中,我们先输入n的值,然后使用两个for循环来求1到n的阶乘的倒数之和。外层循环遍历每个数字,内层循环计算该数字的阶乘,并将其加入y中。最后输出y的值即可。需要注意的是,我们要将factorial定义为float型,以便计算1/factorial。
c++编程 输入一个n 输出n的阶乘可以被多少个2整除
以下是求n的阶乘中2的个数的C++代码:
```c++
#include <iostream>
using namespace std;
int main() {
int n;
cout << "请输入n:";
cin >> n;
int count = 0;
for (int i = 2; i <= n; i++) {
int j = i;
while (j % 2 == 0) {
j /= 2;
count++;
}
}
cout << n << "的阶乘中2的个数为:" << count << endl;
return 0;
}
```
这段代码首先让用户输入n,然后使用一个循环遍历2到n之间的所有数字,对于每个数字,求出它的因子中2的个数,累加到count中。最后输出count即可。