一个整数,只知道前几位,不知道末二位,被另一个整数除尽了,那么该数的末二位该是什么呢?
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的情况下会有多解,而且只要遍历就好了,并不难还有就是要控制输出整数的格式printf("%02d",sum%100);就是输出如果要输出两位数,并且希望一为数的情况如5以 05的形式输出出来,那么可以使用这种方法
// // main.cpp // 整除的尾数 // // Created by 张嘉韬 on 16/7/23. // Copyright © 2016年 张嘉韬. All rights reserved. // #include <iostream> #include <cstdio> #include <iomanip> using namespace std; int main(int argc, const char * argv[]) { //freopen("/Users/zhangjiatao/Documents/暑期训练/input.txt","r",stdin); int a,b; while(cin>>a>>b) { if(a==0&&b==0) return 0; int k=100*a/b; int sum=k*b; if(sum/100!=a) k++; sum=k*b; int flag=0; while(sum/100==a) { if(flag==1) cout<<" "; flag=1; cout<<setfill('0')<<setw(2)<<sum%100; k++; sum=k*b; } cout<<endl; } return 0; }