long long fac(int m) { long long res = 1; for (int i = 1; i <= m; i++) { res *= i; } return res;}
时间: 2024-06-02 22:14:10 浏览: 131
The code written is incomplete and contains a logical error in the for loop.
The for loop should have the increment operator (i++) to increase the value of i in each iteration.
The corrected code is as follows:
long long fac(int m) {
long long res = 1;
for (int i = 1; i <= m; i++) {
res *= i;
}
return res;
}
This code calculates the factorial of a given integer 'm' using a for loop. It initializes the variable 'res' to 1 and multiplies it by every integer from 1 to the given integer 'm'. The final result is then returned.
相关问题
#include <iostream> using namespace std; int fac(int n) { int res = 1; for(int i = 1; i <= n; i++) { res *= i; } return res; } int main() { int a, b, c; cout << "请输入a, b, c的值:" << endl; cin >> a >> b >> c; int sum = fac(a) + fac(b) + fac(c); cout << a << "! + " << b << "! + " << c << "! = " << sum << endl; return 0; }
好的,这是一个计算阶乘和的 C++ 程序。它的运行结果如下:
请输入a, b, c的值:
3 4 5
3! + 4! + 5! = 150
程序首先要求用户输入三个整数 a、b、c 的值,然后调用 fac 函数分别计算它们的阶乘,并将三个阶乘值相加。最后输出计算结果。
在上面的运行结果中,我们输入了 a=3,b=4,c=5 三个值,程序计算出它们的阶乘分别为 6、24、120,将它们相加得到 150,最终输出了运算结果。
希望这个演示对您有所帮助。
以下程序的输出结果是____. long fun(int n) { long fac=1; int i; for(i=1; i<=n;i++) fac*=i; return fac; } int main( ) { int i; long sum=0; for(i=1;i<4; i+=2) sum=sum+fun(i); printf("sum=%ld\n",sum); return 0; }
程序的输出结果是:sum=3。
首先,定义了一个函数fun,用于计算n的阶乘。然后,在主函数中,对于i从1开始,每次增加2,循环两次,即i=1和i=3。对于每个i值,调用fun函数计算i的阶乘,并将结果加到sum中。最终输出sum的值,即sum=1!+3!=1+6=7。因此,程序的输出结果是:sum=7。
阅读全文