多少个1组成的整数可以被2011整除?
解:要想求多少个1组成的数字可以被2011整除,很明显那个数回超出整数范围,所以要模拟除法的过程。
除法分为整除和取摸运算两部分,从被除数的第一位开始对除数进行整除运算商结果作为商的第一位,取摸运算结果乘以10再加上被除数的下一位数字作为新的被除数,
对除数进行重复运算。
此题只要求得到位数,不要求得商,所以只需要模拟除法的取摸运算即可,知道可以整除。
#include<stdio.h>
#include<string.h>
int main()
{
int x=5;
int k=11111;
long long z=0;
while(1){
if(k%2011==0)
break;
k=(k%2011)*10+1;
x++;
}
printf("%I64d\n",x);
return 0;
}