【描述】
求10000以内n的阶乘。
【输入】
只有一行输入,整数。
【输出】
一行,即n!的值。
【样例输入】
100
【样例输出】
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
【参考程序】
C++版本
- #include<iostream>
- using namespace std;
- int main()
- {
- int n = 0, k = 1;
- cin >> n;
- int ans[100000] = { 1 };
- for (int i = 1; i <= n; i++)
- {
- int carry = 0;
- for (int j = 0; j < k; j++)
- {
- int a = ans[j] * i + carry;
- ans[j] = a % 10;
- carry = a / 10;
- if (carry != 0 && j == k - 1)
- {
- k += 1;
- }
- }
- }
- for (int i = k - 1; i >= 0; i--)
- {
- cout << ans[i];
- }
- return 0;
- }