整除的尾数
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 41254 Accepted Submission(s): 17672
Problem Description
一个整数,只知道前几位,不知道末二位,被另一个整数除尽了,那么该数的末二位该是什么呢?
Input
输入数据有若干组,每组数据包含二个整数a,b,若遇到0 0则处理结束。
Output
对应每组数据,将满足条件的所有尾数在一行内输出,格式见样本输出。同组数据的输出,其每个尾数之间空一格,行末没有空格。
Sample Input
200 40
1992 95
0 0
Sample Output
00 40 80
15
Source
2007省赛集训队练习赛(2)
Recommend
lcy | We have carefully selected several similar problems for you: 2098 2097 2091 2081 2095
试题分析:
这道题并不是很复杂,就是求符合条件的尾数问题,但是也有几点要注意的地方:
1.因为题目数据量比较小,采用枚举法比较省事;
2.注意输出格式需要在%d中间加上02,表示两位整数且空位补0;
3.a!=0&&b!=0可以改为a||b或者a&&b;
4.控制空格,最后一个数后面不能有空格,格式也可以改为:
for(i=0;i<j;i++)
{
if(i!=0)printf(" ");
printf("%02",num[i]);
}
printf("\n");
代码如下:
#include<stdio.h>
int main()
{
int i,j,a,b,num[100];
while(scanf("%d%d",&a,&b)==2&&a!=0&&b!=0)
{
for(i=0,j=0;i<100;i++)
if((a*100+i)%b==0)
{
num[j]=i;
j++;
}
for(i=0;i<j-1;i++)
printf("%02d ",num[i]);
printf("%02d\n",num[i]);
}
return 0;
}