整除的尾数
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 43008 Accepted Submission(s): 18410
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
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main{
private static Scanner scanner;
public static void main(String[] args) {
scanner = new Scanner(System.in);
while (scanner.hasNext()) {
int a = scanner.nextInt();
int b = scanner.nextInt();
if (a == 0 && b == 0) {
break;
}
List<String> list = new ArrayList<String>();//因为不知道有几个,就使用集合了
/*
* if (a * 10 % b == 0) { list.add("0"); }
*/
// 00
if (a * 100 % b == 0) {
list.add("00");
}
// 一位数
for (int i = 1; i <= 9; i++) {
if ((a * 100 + i) % b == 0) {
list.add("0" + i);//一定要记得在前面加0
}
}
// 两位数
for (int i = 10; i < 100; i++) {
if ((a * 100 + i) % b == 0) {
list.add("" + i);
}
}
// 打印
if (list != null && list.size() > 0) {
int i = 0;
System.out.print(list.get(i));
for (i = 1; i < list.size(); i++) {
System.out.print(" " + list.get(i));
}
System.out.println();
}
}
}
}