本题大意:给出一个数字n,至少要多少个连续的1(写成十进制)能整除n
#include "stdio.h"
#include "stdlib.h"
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
if(n==1)
{
printf("1\n");
continue;
}
else
{
int i=1;
int sum=1;
while(sum)
{
sum=(sum*10+1)%n;
i++;
}
printf("%d\n",i);
}
}
//system("pause");
return 0;
}
注:
1. 之前在while的时候scanf没有判断不等于EOF,所以导致超时
2. 之前在计算sum的时候没有进行取模,导致sum会是一个非常大的数,int类型存不下,long也存不下,所以进行取模运算