题目描述
请编写一个程序,从键盘上输入n(n 的范围是1~20),求n 的阶乘。
输入描述:
输入第一行为样例数m,接下来m行每行一个整数n,n不超过20。
输出描述:
输出m行表示对应的n的阶乘。
示例1
输入
复制
1
3
输出
复制
6
备注:
提示:注意输出结果可能超32位整型。
#include <iostream>
using namespace std;
int main() {
string arr[] = {"1", "2", "6", "24", "120", "720", "5040", "40320", "362880", "3628800", "39916800", "479001600",
"6227020800", "87178291200", "1307674368000", "20922789888000", "355687428096000",
"6402373705728000", "121645100408832000", "2432902008176640000"};
int m, n;
cin >> m;
for (int i = 0; i < m; ++i) {
cin >> n;
cout << arr[n - 1] << endl;
}
return 0;
}