bshy.net
当前位置:首页>>关于编写程序求n!的资料>>

编写程序求n!

#include using namespace std; int main() { int n; coutn; while(n

#include void main(){ int i,a,sum=1; scanf ("%d",&a); for(i=1;i

#include #include typedef unsigned long long ULL; ULL factorial(int n) { if(n == 1) return 1; int i ; ULL f = 1; for(i = 2; i

思路:所谓n的阶乘就是从1到n的累积,所以可以通过一个for循环,从1到n依次求积即可。 参考代码: #include "stdio.h" int main() {int n,i,s=1;scanf("%d",&n);for(i=1;i

#include int jieCheng(int n){ if (1 == n || 0 == n) { return 1; } return n*jieCheng(n -1);}int main(){ printf("请输入n的值:\n"); int n = 0; scanf("%d", &n); printf("%d! = %d \n", n, jieCheng(n)); return 0;}运行结果:

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

很好做,但只能用double型变量操作,结果也是近似的。因为int型在13!后就要溢出!如果要精确的,就得用大数算法来做;那可就复杂了! #include int main(int argc,char *argv[]){ double s,t; int i; for(s=0.0,t=i=1;i

# includelong Sums(long n,long k);int main(void){ long n,k; printf("请输入C(n,k)中的n和k:"); scanf("%d%d",&n,&k); printf("C(%d,%d) = %d",n,k,Sums(n,k));//函数调用 return 0;}long Sums(long n,long k) //函数定义{ long sum = 0,N=1...

代码没什么问题 但是 由于int的范围 你这个 最多只能算到12! 再多 就会出错了 如果要算更多 那么 可以使用double来存储 当然 打印的是近似值

import java.util.Scanner;public class Text{ public static void main(String args[]){ System.out.println("请输入n"); Scanner sc = new Scanner(System.in); int n= sc.nextInt(); int t=1; int i=1; while(i

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