C——整除的尾数
Problem Description 
 一個整數(shù),只知道前幾位,不知道末二位,被另一個整數(shù)除盡了,那么該數(shù)的末二位該是什么呢?
Input 
 輸入數(shù)據(jù)有若干組,每組數(shù)據(jù)包含二個整數(shù)a,b(0< a<10000, 10< b<100),若遇到0 0則處理結(jié)束。
Output 
 對應(yīng)每組數(shù)據(jù),將滿足條件的所有尾數(shù)在一行內(nèi)輸出,格式見樣本輸出。同組數(shù)據(jù)的輸出,其每個尾數(shù)之間空一格,行末沒有空格。
Sample Input
200 40 
 1992 95 
 0 0
Sample Output
00 40 80 
 15
題目解析:
簡單來說:首先,多組數(shù)據(jù)輸入,每行有兩個整數(shù)a,b;其中,a代表著題目中所敘述的那個整數(shù),(一個整數(shù),只知道前幾位,不知道末二位),b代表著(被另一個整數(shù)除盡了)的那個整數(shù)。 
 例如第一行200 40 也就是說 200xx / 40 可以得到一個整數(shù),可以整除; 
 20000 20040 20080這三個數(shù)可以將40整除,故輸出00 40 80
思路分析:
對于代碼的實(shí)現(xiàn),首先,要用到多組數(shù)據(jù),該題目,主要找到原數(shù)就可以了,這里的a是原數(shù)的前幾位,而原數(shù)的后兩位沒有給出,即,只要a*100+后兩位數(shù) 就是原數(shù);這里的后兩位數(shù),可以用個for循環(huán)去實(shí)現(xiàn),也就是說,將a*100+(for循環(huán)控制00~99),然后,原數(shù)滿足可以被b整除,找到滿足的數(shù),即可;當(dāng)a和b都為0的時候程序結(jié)束;最后行末尾沒有空格。
代碼如下:
#include<stdio.h> int main() {int a,b,i,j,d[101],flag=0;while(scanf("%d%d",&a,&b)!=EOF) //多組數(shù)據(jù)輸入{if(a==0&&b==0) //當(dāng)a和b都為0的時候,程序結(jié)束break;flag=0; //這里的flag是為了區(qū)分第一個數(shù);即,如果只有一個結(jié)果,那么該結(jié)果輸出后沒有空格;而當(dāng)是多個結(jié)果的時候,第一個結(jié)果后面會有個空格,緊跟著是第二個數(shù)的輸出,行末是沒有空格的for(i=0; i<100; i++){j=a*100+i; //這里的j就是將原來的那個數(shù)給確定出來,加上i,然后i++,也就是該原數(shù);這里的i是為了補(bǔ)充不確定的后兩位數(shù)if(j%b==0) //如果那個數(shù)可以被b整除,即,就是所要求的結(jié)果{if(flag) //如果flog!=0,就執(zhí)行;而,flag初始值被賦值為0,即,空格是有最少兩個結(jié)果的時候才打印的printf(" ");printf("%02d",i);flag++; //flog++,當(dāng)先再進(jìn)行判斷,就會滿足if(flag),然后打印空格,這說明是多滿足的結(jié)果,而不是一個結(jié)果}}printf("\n"); //按要求,進(jìn)行換行,格式輸出控制}return 0;}總結(jié)
 
                            
                        - 上一篇: 信阳治无精症比较好的医院推荐
- 下一篇: 卵泡监测多少钱啊?
