C 語言實例 - 階乘

C 語言實例 C 語言實例

一個正整數的階乘(英語:factorial)是所有小於及等於該數的正整數的積,並且0的階乘為1。自然數n的階乘寫作n!。

n!=1×2×3×...×n。階乘亦可以遞歸方式定義:0!=1,n!=(n-1)!×n

實例

#include <stdio.h> int main() { int n, i; unsigned long long factorial = 1; printf("輸入一個整數: "); scanf("%d",&n); // 如果輸入是負數,顯示錯誤 if (n < 0) printf("Error! 負數沒有階乘jiechen"); else { for(i=1; i<=n; ++i) { factorial *= i; // factorial = factorial*i; } printf("%d! = %llu", n, factorial); } return 0; }

運行結果:

輸入一個整數: 10
10! = 3628800

實例 - 使用遞歸

#include <stdio.h> long int multiplyNumbers(int n); int main() { int n; printf("輸入一個整數: "); scanf("%d", &n); printf("%d! = %ld", n, multiplyNumbers(n)); return 0; } long int multiplyNumbers(int n) { if (n >= 1) return n*multiplyNumbers(n-1); else return 1; }

C 語言實例 C 語言實例