晚餐不会高精度,求教
查看原帖
晚餐不会高精度,求教
1011874
GuiyuanCo楼主2023/9/15 21:21
#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    int a[100]={0},b[100]={0};
    a[1]=0;
    a[0]=1;
    b[0]=1;
    b[1]=1;
    cin>>n;
    for (int i=1;i<=n;i++)
    {
        for (int j=1;j<=i;j++)
        {
            for (int k=1;k<=b[0];k++)
            {
                b[k]*=j;
                if (b[k]>10)
                {
                    b[k]-=10;
                    b[k+1]++;
                    if (k==b[0])
                    {
                        b[0]++;
                    }
                }
            }
        }
        a[0]=max(a[0],b[0]);
        b[0]=0;
        for (int j=1;j<=a[0];j++)
        {
            a[j]+=b[j];
            b[j]=0;
            if (a[j]>10)
            {
                a[j]-=10;
                a[j+1]++;
                if (j==a[0])
                {
                    a[0]++;
                }
            }
        }
    }
    for (int i=a[0];i>0;i--)
    {
        cout<<a[i];
    }
}
2023/9/15 21:21
加载中...