Luoyoooo

与其感慨路难行,不如马上出发

[高精度]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 }

 

posted @ 2020-02-04 22:00  Luoyoooo  阅读(857)  评论(0编辑  收藏  举报