s=1!+2!+3!+……+n!,其中n由键盘输入,n<30。 求编译过程
答案:3 悬赏:0
解决时间 2021-01-13 04:55
- 提问者网友:雨不眠的下
- 2021-01-12 04:23
s=1!+2!+3!+……+n!,其中n由键盘输入,n<30。 求编译过程
最佳答案
- 二级知识专家网友:风格不统一
- 2021-01-12 05:33
#include
//64位机器最多只能取到n = 31,再大数据会溢出
int main(){
int n = 0;
long long int result = 0, tmp = 1;
printf("Please input n to calculate 1! + 2! + ...+ n!:
");
scanf_s("%d", &n);
if (n < 1){
printf("Input wrong.
");
return 0;
}
for (int i = 1; i <= n; ++i){
tmp *= i;
result += tmp;
}
printf("The result is %lld
", result);
return 0;
}
//64位机器最多只能取到n = 31,再大数据会溢出
int main(){
int n = 0;
long long int result = 0, tmp = 1;
printf("Please input n to calculate 1! + 2! + ...+ n!:
");
scanf_s("%d", &n);
if (n < 1){
printf("Input wrong.
");
return 0;
}
for (int i = 1; i <= n; ++i){
tmp *= i;
result += tmp;
}
printf("The result is %lld
", result);
return 0;
}
全部回答
- 1楼网友:不甚了了
- 2021-01-12 06:41
我学的是pascal,可以讲一下流程。要就吱一声
- 2楼网友:行路难
- 2021-01-12 05:48
参考代码:#include
int main() {
int n,i;
float s=0,t=1;
scanf("%d",&n);
for(i=1;i<=n;i++) {
t*=i; s+=t;
}
printf("1+2!+3!...+n!=%.0f ",s);
return 0;
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯