当前位置:   article > 正文

C语言---计算n的阶乘

C语言---计算n的阶乘

        阶乘的概念:一个正整数的阶乘(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

第一种:用递归的方法计算(函数调自己

  1. //递归
  2. int fun(int n)
  3. {
  4. if (n > 1)//限制条件
  5. {
  6. return n * fun(n - 1);
  7. }
  8. else//0 ,1的阶乘
  9. return 1;
  10. }
  11. int main()
  12. {
  13. int n = 0;
  14. scanf("%d", &n);
  15. int a=fun(n);
  16. printf("%d ", a);
  17. return 0;
  18. }

 第二种:用非递归的方法计算

  1. int main()
  2. {
  3. int n = 0;
  4. int sum = 1;
  5. int i = 1;
  6. scanf("%d", &n);
  7. for (i = 1; i <= n; i++)
  8. {
  9. sum *= i;//sum=sum*i
  10. }
  11. printf("%d\n", sum);
  12. return 0;
  13. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码吟游诗人/article/detail/63126
推荐阅读
相关标签
  

闽ICP备14008679号