C++階乘


C++中的階乘程式:n的階乘是所有正整數的乘積。 n的階乘由n!表示。 例如:

4! = 4*3*2*1 = 24  
6! = 6*5*4*3*2*1 = 720

這裡,4! 發音為「4階乘」。

階乘通常用於組合和排列(數學)。

有很多方法用C++語言編寫階乘程式。下面來看看看寫出階乘程式的兩種方法。

  • 使用迴圈的階乘程式
  • 使用遞迴的因子程式

使用迴圈的階乘程式

下面來看看看C++中的階乘程式使用迴圈。

#include <iostream>  
using namespace std;  
int main()  
{  
   int i,fact=1,number;    
  cout<<"Enter any Number: ";    
 cin>>number;    
  for(i=1;i<=number;i++){    
      fact=fact*i;    
  }    
  cout<<"Factorial of " <<number<<" is: "<<fact<<endl;  
  return 0;  
}

執行上面程式碼,得到以下結果 -

Enter any Number: 5  
 Factorial of 5 is: 120

使用遞迴的階乘程式範例

下面來看看看C++中的階乘程式使用遞迴。

#include<iostream>    
using namespace std;      
int main()    
{    
    int factorial(int);    
    int fact,value;    
    cout<<"Enter any number: ";    
    cin>>value;    
    fact=factorial(value);    
    cout<<"Factorial of a number is: "<<fact<<endl;    
    return 0;    
}    
int factorial(int n)    
{    
    if(n<0)    
        return(-1); /*Wrong value*/      
    if(n==0)    
        return(1);  /*Terminating condition*/    
    else    
    {    
        return(n*factorial(n-1));        
    }    
}

執行上面程式碼,得到以下結果 -

Enter any number: 6   
Factorial of a number is: 720