msww.net
当前位置:首页 >> 编写程序求n的阶乘 >>

编写程序求n的阶乘

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

#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; }

#include int main(){ int n, i, res = 1; scanf("%d", &n);//计算n阶 if (n == 1) printf("1\n"); else{ for(i=2; i res *= i; } printf("%d\n", res); } return 0; }

求单纯阶乘问题,关键在于前面的自定义函数,后面的都只要带入就行.以求吗m!/(n!*(m-n)!)为例.#include<stdio.h> long fun(int x) { long y=1; while(x>0) { y*=x; x--; } return(y); } int main() { int m,n; printf("Input m,n:"); scanf("%d,%d",&m,&n); printf("%d\n",fun(m)/(fun(n)*fun(m-n))); getch(); }

#include long int fun(int n) { if (n>1) return fun(n-1)*n; else return 1; } int main(void) { int n=10; printf("%ld",fun(10)); 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<cstdio> int main(){ int n, i, res = 1; scanf("%d", &n);//计算n阶 if (n == 1) printf("1\n"); else{ for(i=2; i<=n; i++){ res *= i; } printf("%d\n", res); } return 0; }

public static void main(string[] args) { scanner input =new scanner(system.in); int num=1; int n=0; system.out.println("请输入一个正整数:"); n=input.nextint(); for (int i = 1; i <= n; i++) { num=i*num; system.out.println(num); } system.out.println(n+"的阶乘="+num); }

//修改一下,之前的算法不好//纯手打,未测试,有问题可回#include<stdio.h> int main(int argc,char* argv[]){ int n=10;//可自行修改具体值 int sum=0; int mut; mut=1; for(int i=1;i<=n;i++){ mut*=i; sum+=mut; } printf("%d",mut); getchar(); return 0; }

所谓n的阶乘就是从1到n的累积,所以可以通过一个for循环,从1到n依次求积即可.参考代码:#include "stdio.h" int main() { int n,i,s=1; scanf("%d",&n); for(i=1;i<=n;i++)//for循环求累积 s=s*i; printf("%d\n",s); return 0;}/*运行结果:(例如求5的阶乘) 5120*/

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