1. 程式人生 > >階乘函式(factorial)——結果在整型範圍內的階乘計算

階乘函式(factorial)——結果在整型範圍內的階乘計算

定義:

在數學中,正整數的階乘(英語:factorial)是所有小於及等於該數的正整數的積,計為n!,例如5的階乘計為5!,其值為120:
$$ 5!=5\times 4\times 3\times 2\times 1=120,.$$
並定義,1的階乘1!為1、0的階乘0!亦為1,其中,0的階乘表示一個空積

普遍方法實現階乘

int factorial(int num)
{
    int sum = 1;
    for (int i = 1; i <= num; i++)
        sum *= i;
    return sum;
}

使用遞迴的思想實現階乘

int factorial(int n)
{
    int sum = 1;
    return n == 1? sum = 1: n * factorial(n - 1);
}

使用迭代思想實現階乘

int factorial(int n)
{
    int result = 1;

    for (; n > 1; n--)
        result *= n;

    return result;
}