本题大意:给出一个数字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也存不下,所以进行取模运算
本文介绍了一种解决给定数字n至少需要多少连续1(以十进制表示)才能整除该数字的问题。通过使用循环和取模运算,实现了一个高效的算法来求解此问题。
482

被折叠的 条评论
为什么被折叠?



