您的位置:首页 > 其它

poj-2551-ones

2016-03-15 21:10 316 查看
Description

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?
Input

Each line contains a number n.
Output

Output the number of digits.
Sample Input

3
7
9901

Sample Output

3
6
12

题目大意:
输入n,求出不能整除3和5,却能整除d并且这个数各位都是1;
111111111111%9901==0;


#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
int n;

while(~scanf("%d",&n))//EOF
{
int cnt=1;
int num=1;

while(num%n)
{
num=(num*10+1)%n;//直接找由1构成的数,判断是不是n的倍数
cnt++;
}
printf("%d\n",cnt);
}

return 0;
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: