整除的尾数
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 50096 Accepted Submission(s): 21288
Problem Description
一个整数,只知道前几位,不知道末二位,被另一个整数除尽了,那么该数的末二位该是什么呢?
Input
输入数据有若干组,每组数据包含二个整数a,b(0<a<10000, 10<b<100),若遇到0 0则处理结束。
Output
对应每组数据,将满足条件的所有尾数在一行内输出,格式见样本输出。同组数据的输出,其每个尾数之间空一格,行末没有空格。
Sample Input
200 40
1992 95
0 0
Sample Output
00 40 80
15
题意:给出一个数的前几位a,和另一个数b,要求在a的后面加上两位数之后可以被b整除,输出全部的方案
题解:因为只要求加两位数,所以直接暴力就好,先把a乘100,然后从0到99遍历一遍,看加上后能不能被b整除,能就存起来。输出的时候注意一下格式要求
1 #include<bits/stdc++.h> 2 using namespace std; 3 int ans[105]; 4 int main() { 5 int a,b; 6 while(~scanf("%d %d",&a,&b),a+b) 7 { 8 a*=100; 9 memset(ans,0,sizeof(ans)); 10 int num=0; 11 for(int i=0;i<100;i++) 12 { 13 14 if((a+i)%b==0) 15 { 16 ans[num++]=i; 17 } 18 } 19 for(int i=0;i<num;i++) 20 { 21 if(ans[i]<10)printf("0%d",ans[i]); 22 else printf("%d",ans[i]); 23 if(i!=num-1)printf(" "); 24 else printf(" "); 25 } 26 27 } 28 return 0; 29 }