题目
🐷求1+2!+3!+…+20!的和
一、分析
🐷利用函数求阶乘,再利用循环求和。
二、代码
🐷代码如下(示例):
/*求1+2!+3!+...+20!的和*/
#include<stdio.h>
unsigned long long JieCheng(int n){
unsigned long long num = 1;
for (int j = 1; j <= n; j++){
num *= j;
}
return num;
}
int main(void){
unsigned long long sum = 0;
for (int i = 1; i <= 20;i++){
sum += JieCheng(i);
}
printf("1+2!+3!+...+20!=%llu", sum);
return 0;
}
总结
🐸求解的过程中注意求出的每个答案有没有超出数据类型的范围🐶比如本题的阶乘与阶乘的和的大小都超出了int、long、unsigned long、long long的范围🐱必须使用unsigned long long来计算🐸
2022.1.11