传送门:http://acm.jlu.edu.cn/joj/showproblem.php?pid=1894
题意:输入个n,求能被n整除的数,且这个数要求是各个位置都是1并且最小。
思路:一位一位递增,可能超过long long,所以每次求下余。
代码:
#include <cstdio>
using namespace std;
int main()
{
int n;
while (scanf("%d", &n) != EOF)
{
int num = 1, len = 1;
num = num % n;
while (num)
{
num = num * 10 + 1;
num = num % n;
len++;
}
printf("%d\n", len);
}
return 0;
}