求助!

P1591 阶乘数码

AzureMist @ 2022-08-19 10:39:55

rt,样例能过

#include<bits/stdc++.h>
using namespace std;
int p[2570],n,a,x,t,cnt,len=1;//1000!有2568位
int main()
{
    cin>>t;
    for(int i=1;i<=t;i++)//for和while都不行
    {
        cin>>n>>a;
        p[1]=1;
        for(int j=1;j<=n;++j)
        {
            x=0;
            for(int k=1;k<=len;++k)
            {
                p[k]=p[k]*j+x;
                x=p[k]/10;
                p[k]=p[k]%10;
                if(x>0&&k>=len) len++;
            }
        }//阶乘
        for(int j=len;j>=1;j--)
            if(p[j]==a)
                cnt++;//看a出现了多少次
        cout<<cnt<<endl;
        cnt=0;
    }
    return 0;
   //自己试过了,不是n=0的时候出锅
} 

by MithrilSword_XIV @ 2022-08-19 11:33:39

@Volcano_j666 不过的是怎么错的


by MithrilSword_XIV @ 2022-08-19 11:36:08

@Volcano_j666 对了,把

p[1]=1

改为

p[i]=1

by AzureMist @ 2022-08-19 12:00:35

@_NumberXIV 不行,我之前试过了


by xiaoxiaohanpiss @ 2022-09-04 21:18:07

感觉好像暴力就会wa 但是高精度不会


|