imfkwk @ 2020-10-28 23:59:02
#include<bits/stdc++.h>
using namespace std;
int t,n,a,l;
int ans;
int s[10001];
void jin()
{
for(int i=1;i<=l;i++)
{
if(s[i]>9)
{
s[i+1]+=s[i]/10;
s[i]%=10;
}
while(s[l+1])
{
l++;
if(s[l]>9)
{
s[l+1]+=s[l]/10;
s[l]%=10;
}
}
}
}
void cheng(int x)
{
for(int i=1;i<=l;i++)
s[i]*=x;
jin();
}
int main()
{
cin>>t;
for(int i=1;i<=t;i++)
{
ans=0;
for(int j=1;j<=l;j++)s[i]=0;
s[1]=1;
l=1;
cin>>n>>a;
for(int j=1;j<=n;j++)
cheng(j);
for(int j=1;j<=l;j++)
if(s[j]==a)ans++;
cout<<ans<<endl;
}
return 0;
}
by mattinas @ 2020-10-29 07:31:11
您第40行
for(int j=1;j<=l;j++)s[i]=0;
是s[j]=0;吧。(我也不知道有没有影响。
by mattinas @ 2020-10-29 07:39:59
抱歉我用您的代码改了一下提交了试试看。(抱歉抱歉抱歉。(能ac)
我把那行改成了
memset(s,0,sizeof(s));
所以应该就是那里。。。