|
|
发表于 2020-9-20 22:02:43
|
显示全部楼层
本楼为最佳答案
本帖最后由 sunrise085 于 2020-9-21 08:57 编辑
第一、本质是对多个阶乘求和,求和运算为什么用双层循环?
第二、你的阶乘是怎么算的,我实在是看不懂。。num作为循环结束条件,而num一直在变化,阶乘为什么一直在相加?
- #include <bits/stdc++.h>
- using namespace std;
- int factorial(int);
- int main()
- {
- int n,sum = 0;
- cout<<"Input a number: ";
- cin>>n;
-
- cout<<"1+1*2+1*2*3+...+1*2*3*...*n = ";
-
- for (int i = 1;i <= n;i++)
- {
- sum += factorial(i);
- }
-
- cout<<sum;
-
- return 0;
- }
- int factorial(int num)
- {
- int result=1;
- for (int i = 1;i <= num;i++)
- {
- result *= i;
- }
-
- return result;
- }
复制代码
若不是为了使用阶乘函数的话,可以更简单一些
- #include <bits/stdc++.h>
- using namespace std;
- int main()
- {
- int n,sum = 0,temp=1;
- cout<<"Input a number: ";
- cin>>n;
-
- cout<<"1+1*2+1*2*3+...+1*2*3*...*n = ";
- for (int i = 1;i <= n;i++)
- {
- temp*=i;
- sum += temp;
- }
- cout<<sum;
- return 0;
- }
复制代码
|
|