C++ 求n的階乘n!(n>0)
阿新 • • 發佈:2019-01-07
一、方法1:用迴圈
#include <iostream> using namespace std; int main(int argc, const char * argv[]) { int i, n, res; // res儲存積 // 輸入測試資料n while(cin >> n) { res = 1; i = 1; // 求n的階乘 while(i <= n) { res *= i; i++; } cout << n << "的階乘為:" << res << endl; } return 0; }
二、方法2:用遞迴
#include <iostream> using namespace std; int toFactorial(int n) { if(n == 1) // 終止狀態 return 1; else return n * toFactorial(n - 1); // 歸納項 } int main(int argc, const char * argv[]) { int n; while(cin >> n) { cout << n << "的階乘為:" << toFactorial(n) << endl; } return 0; }
執行結果: