[高精度]7-12 求n!的值 (25分)
高精度方法,求n!的精确值(n以一般整数输入)。
输入格式:
一个整数
输出格式:
一个整数
输入样例:
10
输出样例:
3628800
思路:高精度模板
1 #include<iostream> 2 #define maxn 100000 3 using namespace std; 4 int main() 5 { 6 int n, a[maxn]; 7 int k, carry, temp; 8 cin >> n; 9 a[0] = 1; 10 carry = 1; 11 for (int i = 1; i <= n; i++) 12 { 13 k = 0; 14 for (int j = 0; j < carry; j++) 15 { 16 temp = a[j] * i + k; 17 a[j] = temp % 10; 18 k = temp / 10; 19 } 20 while (k != 0) 21 { 22 a[carry] = k % 10; 23 carry++; 24 k /= 10; 25 } 26 } 27 for (int i = carry - 1; i >= 0; i--) 28 cout << a[i]; 29 }