高精度比较难
总之就是:代码长,好理解
高精度就是用string数组(>20位)去改变long long变量(<20位)
还算好理解,就是代码要写好多,基本就是100多行
#include <bits/stdc++.h>
using namespace std;
int main(int argc, char const *argv[])
{
int a[250];
memset(a, 0, sizeof(a));
int n;
cin >> n;
int len = 1;
// int m = 1;
a[0] = 1;
for (int m = 1; m <= n; m++)
{
for (int i = 0; i < len; i++)
{
a[i] = a[i] * m;
}
for (int i = 0; i < len; i++)
{
a[i + 1] = a[i + 1] + a[i] / 10;
a[i] = a[i] % 10;
}
while (a[len])
{
len++;
a[len] = a[len - 1] / 10;
a[len - 1] = a[len - 1] % 10;
}
}
for (int i = len - 1; i >= 0; i--)
{
cout << a[i];
}
return 0;
}