题目:
求1+2!+3!+...+N!的和。(正整数N(N〈=20))
解题思路:
两层for循环解决问题——
里层循环用来计算每个数字的阶乘;
外层循环将里层得到的阶乘相加。
注意事项:
20!=20×19×18×17×16×15×14×13×12×11×10×9×8×7×6×5×4×3×2×1=2432902008176640000
int数据类型能存储的最大数据为2^31-1=2147483647,
因此这里的和、积的数据类型为long long int,输出格式为%lld。
参考代码:
#include<stdio.h> int main(void){ int i,j; int num; long long int product,sum=0; scanf("%d",&num); for(i=1;i<=num;i++){ product = 1; for(j=1;j<=i;j++){ product = product*j; } sum = sum+product; } printf("%lld",sum); return 0; }
0.0分
0 人评分
Tom数 (C语言代码)浏览:736 |
C语言训练-计算1~N之间所有奇数之和 (C语言代码)浏览:721 |
C语言训练-阿姆斯特朗数 (C语言代码)浏览:852 |
数列排序 (C语言代码)浏览:835 |
【绝对值排序】 (C++代码)浏览:672 |
核桃的数量 (C语言代码)浏览:872 |
蚂蚁感冒 (C语言代码)浏览:773 |
局部变量作函数返回值的问题浏览:981 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:518 |
1005答案错误为什么浏览:1975 |