代码程序:
#include <iostream>
using namespace std;
int main()
{
long n = 1;//为什么要用long呢,因为计算阶乘时结果会超出int的数值范围。
long s = 0;
for (int i = 1; i<=20; i++)
{
n *= i;//阶乘运算
s += n;//值相加
cout << "当i为:" << i << "时" << "阶乘值为:" << n << endl;
cout << "当i为:" << i << "时" << "阶乘值相加为:" << s << endl;
}
return 0;
}
结果
当i为:1时阶乘值为:1
当i为:1时阶乘值相加为:1
当i为:2时阶乘值为:2
当i为:2时阶乘值相加为:3
当i为:3时阶乘值为:6
当i为:3时阶乘值相加为:9
当i为:4时阶乘值为:24
当i为:4时阶乘值相加为:33
当i为:5时阶乘值为:120
当i为:5时阶乘值相加为:153
当i为:6时阶乘值为:720
当i为:6时阶乘值相加为:873
当i为:7时阶乘值为:5040
当i为:7时阶乘值相加为:5913
当i为:8时阶乘值为:40320
当i为:8时阶乘值相加为:46233
当i为:9时阶乘值为:362880
当i为:9时阶乘值相加为:409113
当i为:10时阶乘值为:3628800
当i为:10时阶乘值相加为:4037913
当i为:11时阶乘值为:39916800
当i为:11时阶乘值相加为:43954713
当i为:12时阶乘值为:479001600
当i为:12时阶乘值相加为:522956313
当i为:13时阶乘值为:6227020800
当i为:13时阶乘值相加为:6749977113
当i为:14时阶乘值为:87178291200
当i为:14时阶乘值相加为:93928268313
当i为:15时阶乘值为:1307674368000
当i为:15时阶乘值相加为:1401602636313
当i为:16时阶乘值为:20922789888000
当i为:16时阶乘值相加为:22324392524313
当i为:17时阶乘值为:355687428096000
当i为:17时阶乘值相加为:378011820620313
当i为:18时阶乘值为:6402373705728000
当i为:18时阶乘值相加为:6780385526348313
当i为:19时阶乘值为:121645100408832000
当i为:19时阶乘值相加为:128425485935180313
当i为:20时阶乘值为:2432902008176640000
当i为:20时阶乘值相加为:2561327494111820313