赞
踩
阶乘的概念:一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,且0的阶乘为1,自然数n的阶乘写作n! 。
任何大于等于1 的自然数n 阶乘表示方法:
n!=1×2×3×…×(n-1)×n 或 n!=n×(n-1)!
0!=1
1! = 1
2! = 2 * 1 = 2
3! = 3 * 2 * 1 = 6
…
n! = n * (n-1) *… * 2 * 1
第一种:用递归的方法计算(函数调自己)
- //递归
- int fun(int n)
- {
- if (n > 1)//限制条件
- {
- return n * fun(n - 1);
- }
- else//0 ,1的阶乘
- return 1;
- }
- int main()
- {
- int n = 0;
- scanf("%d", &n);
- int a=fun(n);
- printf("%d ", a);
- return 0;
- }
第二种:用非递归的方法计算
- int main()
- {
- int n = 0;
- int sum = 1;
- int i = 1;
- scanf("%d", &n);
- for (i = 1; i <= n; i++)
- {
- sum *= i;//sum=sum*i
- }
- printf("%d\n", sum);
- return 0;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。