zoukankan      html  css  js  c++  java
  • LightOJ 1078 Integer Divisibility (同余定理)

    题目:

    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 (10的6次方)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

    代码:

    #include <iostream>
    using namespace std;
    int main()
    {
    	long long t,n,i,ans,m,tem;
    	cin>>t;
    	ans=1;
    	while(t--)
    	{
    		cin>>m>>n;
    		cout<<"Case "<<ans++<<": ";
    		if(n%m==0)
    		{
    			cout<<"1"<<endl;
    			continue;
    		}
    		tem=n;
    		for(i=1;n!=0;i++)
    		{
    			n=(n*10+tem)%m;
    		}
    		cout<<i<<endl;
    	}
    	return 0;
    }
  • 相关阅读:
    键盘输入thisisunsafe
    vscode
    iterm2 rz sz
    homebrew镜像更换
    mac
    homebrew下载不成功
    shutil:高层文件操作
    tempfile:临时文件系统对象
    linecache:读取文本文件的指定内容
    fnmatch:Unix式glob模式匹配,简单场景下可以代替正则
  • 原文地址:https://www.cnblogs.com/cnlik/p/11851888.html
Copyright © 2011-2022 走看看