zoukankan      html  css  js  c++  java
  • sicily 6375. n!阶乘问题

    Description

     阶乘 n!  

    n 的阶乘  (factorial)   可表示为 f(n) = n! = n*(n-1)*(n-2)*…*2*1. ,其中(n <= 20)
     
    请编写函数,使用递归的方法求 n! ,在主函数中输入一个整数 n,调用这个函数,
    测试函数是否正确。 
     
    请完善以下的阶乘函数double factoral(int n),以递归的方式实现。
    只要提交函数实现即可:
     
    double factoral(int n)
    {
            // 完善你的函数实现,采用递归函数的方式,不要用循环迭代的方式
    }
     
    循环方式实现请回去后以作业形式上交。
     
    Input

     none

    Output

     none

    挺简单的题

    递归方法

    View Code
     1 double factoral (int n)
     2 {
     3     if ( n == 0 || n == 1 )        /* exception and the base case */
     4     {
     5         return 1;
     6     }
     7     else    /* recursive step */
     8     {
     9         return ( n * factoral (n - 1) );
    10     }
    11 }

    迭代方法

    View Code
     1 double factoral (int n)
     2 {
     3     int i;            /* the counter */
     4     double fac = 1;        /* the factorial to calculate*/
     5     
     6     if ( n == 0 || n == 1 )
     7     {
     8         return 1;
     9     }
    10     else
    11     {
    12         /* loop until all the integers are multiplied */
    13         for ( i = 1; i <= n; i++ )
    14         {
    15             fac = fac * i;
    16         }
    17         
    18         return fac;
    19     }
    20 }
  • 相关阅读:
    学习记录18
    学习记录17
    学习记录16
    小白的心酸连网历程
    学习记录15
    学习记录14
    学习记录13
    学习记录12
    学习记录10
    语法糖
  • 原文地址:https://www.cnblogs.com/joyeecheung/p/2767043.html
Copyright © 2011-2022 走看看