mdsk.net
当前位置:首页 >> 用C语言求1!+2!+3!+...+19!+20! >>

用C语言求1!+2!+3!+...+19!+20!

"!"是阶乘的意思比如:5! = 1*2*3*4*5举例..1!+2!+3!+4!= 1 + 1*2 + 1*2*3 + 1*2*3*4那么1!+2!+3!++20!懂了么?程序的话,您可以用递归提示一个 5! 可以用这样的递归函数 sum = fun(5)int fun(int x){ if (x == 1) { return 1; } else { return (x*fun(x-1)); } }那么求1!+2!+3!++20!的和,自己写吧~

long long fac = 1; long long sum = 0; for(int i = 1; i<=20; i++) { fac *= i; sum += fac; } sum 就是你想要的

整个程序代码如下: #include "stdio.h" main() { int i,j; long a,total=0; for(i=1;i<21;i++) { a=1; for(j=1;j<i+1;j++) a*=j; total+=a; } printf("%d\n",total); } 输出结果为:268040729

#include<stdio.h> void main() { int i,j; int x; long sum=0; for (i=1;i<=20;i++) { x=1; for (j=1;j<=i;j++) //阶层计算 x=x*j; sum=sum+x; //1.20所有阶层之和 } printf("sum=%d\n",sum); } 不懂回复 ^ _ ^

#include<stdio.h>int main(){long long i,f=0,t=1; for(i=1;i<=20;i++) {t*=i; f+=t; } printf("%lld\n",f); return 0;}

#include<stdio.h> void main() { int i; int m=1; long sum=0; for (i=1;i<=20;i++) { m=m*i sum=sum+m } printf("1!+2!+3!+……+20!的值:sum=%ld\n",sum); }

//经过调试的程序,可以运行出正确结果#include "stdio.h"void main(){ int i=1; int sum=0; int s=1; for(i=1;i<=20;i++) { s=s*i; sum=sum+s; } printf("%d\n",sum);}

#include <stdio.h> main() { int i; long sum=0,temp=1; for(i=1;i<=20;i++) { temp*=i; sum+=temp; } printf("1!+2!+3!++20!=%ld\n",sum); }

main() { int n=0,x=1,i; for(i=1;i<=20;i++) { x*=i; n+=x; } printf("%d",n);}

简单的递归调用,输入数不要超过255,否则会超出数值范围,结算结果就会为负int sum(int n){ if (n>0) //退出递归条件,(完成递归必要) return sum(n-1)+n; //递归n参数每加一次减一}int main(){ int a; printf("input a:"); scanf("%d",&a); printf("sum=%d",sum(a)); getch();return 0;}

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com