1992 95整除的尾数

#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");
	}
}

猜你喜欢

转载自blog.csdn.net/cwindyc/article/details/107009637
今日推荐