#include <stdio.h>
void main()
{
int m,n;
while(~scanf("%d%d",&m,&n)&&m&&n)//“~”按位取反运算符
{
int a,b,flag=0;
m=m*100;
for(a=0;a<=9;a++)
for(b=0;b<=9;b++)
if((m+a*10+b)%n==0){
if(flag==1) printf(" ");
printf("%d%d",a,b);
flag=1;
}
printf("\n");
}
}
我的原始而复杂的方法:(但是写出来的时候贼自豪贼激动啊)
#include<stdio.h>
#include<math.h>
void main(){
int a,b;
while(~scanf("%d%d",&a,&b)&&a&&b){
int k=0,i,c[7],t=a,x=0,j;
for(i=1;a/i>0;i*=10) k++;
for(i=k;i>=1;i--){
if(i==k) c[i]=a/pow(10,(double)(i-1));
else{
for(j=k-1;j>=i;j--) t-=c[j+1]*pow(10,(double)j);
c[i]=t/pow(10,(double)(i-1)); t=a;
}
x+=c[i]*pow(10,(double)(i+1));
}
j=0;
for(i=0;i<100;i++)
if((x+i)%b==0){
if(j!=0) printf(" ");
if(i<10) printf("0%d",i);
else printf("%d",i);
j++;
}
printf("\n");
}
}