整除的尾数
问题链接
http://acm.hdu.edu.cn/showproblem.php?pid=2099
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
问题分析
注意每行最后一组输出不需要空格,最后无空格。
1.先用一个循环判断输入的数据是否为零,是退出循环,否就进行下面步骤
2.接着用两层循环计算有多少个尾数,先不进行输出尾数;
3.统计了有n组尾数后,进行2 步骤,此时同时输出检测到符合要求的尾数,加上一个判断语句(当到了输出n组后就不再输出空格),然后输出空格。
4.转行
#include<iostream>
using namespace std;
int main()
{
int a,b,i,j,k=0,n=0;
while(cin>>a>>b)
{
if(a==0)break;
for( i=0;i<10;i++)
{
for( j=0;j<10;j++)
if((a*100+i*10+j)%b==0)
{
n++;
}
}//计算有n组
//输出
for( i=0;i<10;i++)
{
for( j=0;j<10;j++)
if((a*100+i*10+j)%b==0)
{
k++;
cout<<i<<j;
if(k<n) cout<<" ";//不在行末加空格
}
}
cout<<endl;
}
return 0;
}