#include<stdio.h>
#include<math.h>
void print(int m,int j,int k,int c,int*flag)
{
int s=k-c;
int min=pow(10,s-1);
int max=pow(10,s);
char a[c+1];
int c1=c;
while(c--)
a[c]='9';
a[c1]='\0';
for(int i=min;i<max;i++)
{
int sum=0,t=i;
if(t%10==9)
continue;
while(t)
{
sum+=t%10;
t/=10;
}
if(sum==j-1)
{
printf("%d %d%s\n",j,i,a);
*flag=0;
}
}
}
int gcd(int a,int b)
{
return b?gcd(b,a%b):a;
}
int judge(int a)
{
if(a<3)
return 0;
for(int i=2;i*i<=a;i++)
if(a%i==0)
return 0;
return 1;
}
int main(void)
{
int n,m,k,temp;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
printf("Case %d\n",i+1);
scanf("%d %d",&k,&m);
int n=k*9,flag=1;
for(int j=1;j<=n;j++)
{
temp=gcd(j,m);
if(judge(temp))
{
int c=(m-j+1);
if(c%9==0&&c!=0)
print(m,j,k,c/9,&flag);
}
}
if(flag)
printf("No Solution\n");
}
return 0;
}
PTAbasic 1104天长地久
最新推荐文章于 2024-06-17 11:09:28 发布