1.链接地址

https://vjudge.net/problem/POJ-2551

2.问题描述

 Given any integer 0 <= n <= 10000 not divisible by 2 or 5, some multiple of n is a number which in decimal notation is a sequence of 1's. How many digits are in the smallest such a multiple of n?

输入样例

3 
7 
9901

输出样例

3
6
12

3.解题思路

 题意即存在一个只由1组成的数,可以整除给出的n。注意不要超出位数

4.算法实现源代码

#include<cstdio>
#include<cstdlib>
#include<iostream>
using namespace std;
int main()
{
    int i,j,n;
    bool f;
    int s,t=0;
    while(scanf("%d",&n)!=EOF)
    {
        f=false;
        t=s=1;
        t=t%n;
        while(t!=0)
        {
            t=(t*10%n+1)%n;
            s++;
        }
        printf("%d\n",s);
    }
    return 0;
}