1. 程式人生 > >hdu2099整除的尾數(暴力 省賽)

hdu2099整除的尾數(暴力 省賽)

整除的尾數

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("\n"); 25 } 26 27 } 28 return 0; 29 }