给出一个不能被2或5整除的整数0≤n≤10000,一定存在一个n的倍数,使得它的十进制表示仅由数字1组成。

给出一个不能被2或5整除的整数0≤n≤10000,一定存在一个n的倍数,使得它的十进制表示仅由数字1组成。其中最小的数包含多少个数字?
输入
输入的每行包含一个整数n。
输出
对于每组数据,输出最小的整数x>0,使得 ,其中a是输入整数,p=a*b,b是正整数。
样例输入 样例输出
3 3
7 6
9901 12

就是对输入的n,从1倍数开始,判断倍数值是否全部由1组成呗
不知道会不会涉及到大数乘法,如果不涉及就比较简单,循环判断就是了

其实不用写代码也知道答案 1 11 111 之类的都是答案。。肯定不能被 2 或者 5 整除

循环一万次?浪费时间诶。。已经知道了需要输出的数字都是 1 组成,拆解数字?不如组装数字

img

#include <iostream>

int main()
{
    //给出一个不能被2或5整除的整数0≤n≤10000,使得它的十进制表示仅由数字1组成
    int i, j;
    for (i = 1, j = 1; i <= 10000; i = i * 10 + 1, j++)
    {
        if (i % 2 != 0 || i % 5 != 0);
        {
            std::cout << i << "\t" << j << std::endl;;
        }
    }

    return 0;
}