rpct.net
当前位置:首页 >> C语言计算n的阶乘的和 >>

C语言计算n的阶乘的和

#include<stdio.h> main() { int i,n,sum=1; scanf("%d",&n); for(i=1;i<=n;i++) //这里多了个分号.. sum*=i; //必须用另外一个变量来存储阶乘的结果.因为i是用来控制循环的. printf("%d",sum); getch(); }

最基础的思路,是逐个求阶乘,并累加.不过由于阶乘是从1乘到n,所以每个数都单独求一次阶乘,会有很多重复运算,影响效率.所以更快捷的方式是,在上一个数的阶乘基础上,直接乘上本身,得到当前数的阶乘.以此为主导,代码如下:#include <stdio.h> int main() { int n, i, n1 = 1,s=0; scanf("%d",&n);//输入n值. for(i=1; i <= n; i ++) { n1*=i;//计算i的阶乘. s+=n1;//累加. } printf("%d\n", s);//输出结果.}

#include<stdio.h> double fun(int n); int main(void) { int n; printf("Enter n:"); scanf("%d",&n); printf("%lf\n",fun(n)); return 0; } double fun(int n) { if(n==0||n==1) return 1; else return n*fun(n-1); }

#include <stdio.h> int main() { int i=0; long temp=1; long sum=0; for(i=1;i<=20;i++) { temp*=i; sum+=temp; } printf("sum=%ld\n",sum); return 0; } 利用for循环期求出第n项阶乘的积,然后前n-1项的阶乘的和加上第n项阶乘就是所求.

求n的阶乘的和的c语言程序main(){ int s=0,a=1,i;for(i=1;i<=10;i++){ a=a*i;s+=a;}…

#include int fac(int n) { int r=1; for(i = 2; i r*=i; return i; } int main() { int n; scanf("%d",&n); printf("%d!=%d\n",n,fac(n)); return 0; }

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

您好,我们下构思下程序的基础,1. 让用户自定义输入一个数作为阶乘数,2. 当超过20时,输出“N is too big”.我们需要用到IF函数,以下为详细过程.#include using namespace std; int main() { int n, s=1; cin >> n; for (int i = 1; i { s = s * i; } if (n > 20) cout else cout return 0; }

#include <stdio.h>int main(){ double r=1,f=1; int i,n; scanf("%d",&n); for(i = 1; i <= n; i ++) { f*=i; r+=1/f; } printf("%lf\n",r); return 0;}

#include int jc(int n) { int j=1,i,num=0; for(i=1;i { j*=i; num+=j; i++; } return num; } int main() { int n; printf("请输入n的值\n"); scanf("%d",&n); n=jc(n); printf("1到n的阶乘的和为%d\n",n); return 0; }

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