先來看看數階的基本公式:

n!=nx(n-1)x(n-2)x(n-3)x...........x1

數階1.png 

#include <stdio.h>
#include <stdlib.h>

int main()
{
   
    int i,j,sum = 1;
    printf("===數階運算===\n\n");
    printf("請輸入數字:");
    scanf("%d",&i);
   
    for(j=i;j>0;j--)
       sum *= j;
       printf("\n%d!=%3d\n",i,sum);
       sum= 1;
   
    system("PAUSE");
    return 0;
}

數階2.png 

  int i,j,sum = 1;         宣告可變函數為 i ,j ,sum = 1

  for(j=i;j>0;j--)          j=i 所以當 i 輸入某數時, j 會做遞減,直到 1 > 0(例如 i = 3 , j = 3 ,2 ,1)


  sum *= j;                 sum=sum x j                         *sum     總數,總和,總計

  sum= 1;                   sum值重新指定為1

  


 (例)邏輯:

  i =      5

  j=       5      4       3      2      1

 sum=  5     20     60   120   120

                        ˇˇˇ

(5x4=20 ,20x3=60 ,60x2=120 ,120x1=120)


  (例)邏輯:

  i =      4

  j=       4      3       2      1  

 sum=  4     12     24     24  

                      ˇˇˇ

(4x3=12 ,12x2=24 ,24x1=24)


依照前面的兩題例題可以看得出來,它們變化很有規律...

 

 *參考資料:圖解C語言(書)

 *以上為個人學習經驗,請參考書籍

創作者介紹
創作者 編號:N49817024 的頭像
Victor.Li

編號:N49817024

Victor.Li 發表在 痞客邦 留言(0) 人氣( 17209 )