sleven_bird @ 2022-11-13 21:02:40
#include <bits/stdc++.h>
using namespace std;
int x[1145],c[1145],aa[1145];
int t,a,s,xl=1,tl,jw,ss=0,aas=0;
int main()
{
cin>>t;
for(int i=1;i<=t;i++)
{
cin>>s>>a;ss=0;
memset(x,0,sizeof(x));x[0]=1;xl=1;
for(int j=1;j<=s;j++)
{
tl=0;jw=0;
for(int k=0;k<xl;k++)c[k]=x[k];
for(int k=0;k<xl;k++)
{
x[k]=c[k]*j+jw;tl++;
jw=x[k]/10;
x[k]%=10;
}
if(jw){tl++;x[xl]=jw;}xl=tl;
}
int flag=0;
for(int j=xl+1;j>=0;j--)
if(flag||x[j])
{
flag=1;if(x[j]==a)ss++;
//cout<<x[j];
}
aa[++aas]=ss;
}
for(int i=1;i<=aas;i++)cout<<aa[i]<<endl;
return 0;
}
全WA好吧,求助好吧~
by Magus @ 2022-11-13 21:22:05
int x[1145],c[1145],aa[1145];
好臭好吧
by sleven_bird @ 2022-11-13 21:33:37
@TX_Bernie
e,我需要帮助,好吧!
by sleven_bird @ 2022-11-13 22:23:50
#include <bits/stdc++.h>
using namespace std;
int x[114514],c[114514],aa[114514];
int t,a,s,xl=1,tl,jw,ss=0,aas=0;
int main()
{
cin>>t;
for(int i=1;i<=t;i++)
{
cin>>s>>a;ss=0;
memset(x,0,sizeof(x));x[0]=1;xl=1;
for(int j=1;j<=s;j++)
{
tl=0;jw=0;
for(int k=0;k<xl;k++)c[k]=x[k];
for(int k=0;k<xl;k++)
{
x[k]=c[k]*j+jw;tl++;
jw=x[k]/10;
x[k]%=10;
}
while(jw)
{
x[tl++]=jw%10;
jw/=10;
}xl=tl;
}
int flag=0;
for(int j=xl+1;j>=0;j--)
if(flag||x[j])
{
flag=1;if(x[j]==a)ss++;
//cout<<x[j];
}
aa[++aas]=ss;
}
for(int i=1;i<=aas;i++)cout<<aa[i]<<endl;
return 0;
}
数组开小了,好吧!