關於部落格
● 電動宅的小小世界 ●

↑ Computer、Metal Music、Game And My Life !
  • 95341

    累積人氣

  • 6

    今日人氣

    0

    訂閱人氣

[資結] 計算n!



//====================================================================
// Copyright (c) Shaldrem of CSMU's MIS All Right Servered.
//====================================================================
// 輸入n, 計算 n!
// n! = { 1          ,if n =  0
//      { n*(n-1)!   ,if n >= 1     
/* 演算法如下
 int n_orders(int n){
     if (n==0) return 1;
     else return n * n_orders(n - 1);           
                   }
*/


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

/*int n_orders(int n){                    //解法一: 利用一般迴圈解法
    int ans = 1;
    if (n==0) return 1;
    else{
         for( int i=1; i <= n; i++){
            ans *= i; 
              }
         return ans;
         }
}*/
int n_orders(int n){                        //解法二: 利用函數遞迴做解
    int ans = 1;
    if (n==0) return 1;
    else return n * n_orders(n -1);
}

int main(){
    int n, ans;
    printf("Computing the n! n");
    printf("Input the n value: ");
    scanf("%d",&n);
   
    ans = n_orders(n);
    printf("nThe value of n!: %d", ans);
    printf("n");
    system("pause");
}

下載程式執行檔:

相簿設定
標籤設定
相簿狀態