lijhtoj Integer Divisibility (简单同余数题)

LightOJ - 1078
Integer Divisibility
Time Limit: 2000MS Memory Limit: 32768KB 64bit IO Format: %lld & %llu

Submit Status

Description

If an integer is not divisible by 2 or 5, some multiple of that number in decimal notation is a sequence of only a digit. Now you are given the number and the only allowable digit, you should report the number of digits of such multiple.

For example you have to find a multiple of 3 which contains only 1's. Then the result is 3 because is 111 (3-digit) divisible by 3. Similarly if you are finding some multiple of 7 which contains only 3's then, the result is 6, because 333333 is divisible by 7.

Input

Input starts with an integer T (≤ 300), denoting the number of test cases.

Each case will contain two integers n (0 < n ≤ 106 and n will not be divisible by 2 or 5) and the allowable digit (1 ≤ digit ≤ 9).

Output

For each case, print the case number and the number of digits of such multiple. If several solutions are there; report the minimum one.

Sample Input

3

3 1

7 3

9901 1

Sample Output

Case 1: 3

Case 2: 6

Case 3: 12

 

//一个同余数定理题,题不难,就是题意得好好理解 
//题意:用多少m组成的数可以整除n。
#include<stdio.h>
#include<string.h>
int main()
{
	int t,T=1,n,m;
	int cnt;
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d%d",&n,&m);
		int mm=m%n;
		cnt=1;
		while(mm)
		{
			mm=(mm*10+m)%n;
			cnt++;
		}
		printf("Case %d: %d\n",T++,cnt);
	}
	return 0;
}


 

你可能感兴趣的:(lijhtoj Integer Divisibility (简单同余数题))