全部评论 1

  • 你的代码肯定运行错误,少了两个return 0;
    这是修改后的代码

    #include <bits/stdc++.h>
    using namespace std;
    int sr[20][3];
    int t,Max=-1;
    int jiecheng(int n)
    {
        long long num[3000]={0,1},len=1;
        for(int i=1;i<=n;i++) {
    		for(int j=1;j<=len;j++)
            {
                num[j]*=i;
            }
            for(int j=1;j<=len;j++)
            {
    			num[j+1]+=num[j]/10;
                num[j]%=10;
                if(num[len]!=0)len++;
            }
    
    
            for(int k=1;k<=t;k++)
            {
                if(sr[k][0]==i){
                    int count = 0;
                    for(int q=len-1;q>=1;q--)
                    {
                        if(sr[k][1]==num[q])count++;
                    }  
                    sr[k][2]=count;
                    //cout<<sr[k][0]<<"!!!!"<<count<<endl;
                }
            }
    
            
        }
        return 0;
    }
    int main()
    {
        cin>>t;
        for(int i=1;i<=t;i++)
        {
            int n,a;
            cin>>n>>a;
            sr[i][0]=n;
            sr[i][1]=a;
            Max=max(n,Max);
            //cout<<Max<<endl;
      }
    	jiecheng(Max);
        for(int k=1;k<=t;k++)
            {
                cout<<sr[k][2]<<endl;
            }
        return 0;
        
    
    
    }
    

    2024-10-15 来自 北京

    0
首页