回覆列表
  • 1 # 習慣茶

    參考程式碼:

    #include "stdio.h"

    int main() {

    int n,i,s=1;

    scanf("%d",&n);

    for(i=1;i<=n;i++)//for迴圈求累積

    s=s*i;

    printf("%d\n",s);

    return 0;

    }

    /*

    演算法思想

    首先要清楚階乘定義,所謂 n 的階乘,就是從 1 開始乘以比前一個數大 1 的數,一直乘到 n,用公式表示就是:1×2×3×4×…×(n-2)×(n-1)×n=n! 具體的操作:利用迴圈解決問題,設迴圈變數為 i,初值為 1,i 從 1 變化到 n;依次讓 i 與 sum 相乘,並將乘積賦給 sum。 ① 定義變數 sum,並賦初值 1。 ② i 自增 1。 ③ 直到 i 超過 n。

    除錯執行結果

    輸入 5,對應的階乘輸出情況如下所示;

    55!=120.000000

    輸入20,對應的階乘輸出情況如下所示:

    2020!=2432902008176640000.000000

  • 中秋節和大豐收的關聯?
  • 華為平板電腦m3重啟後忘記密碼,怎麼恢復出廠設定?