zoj 1889

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=889

#include <stdio.h>
int main()
{
	long m,n,i,c;
	while(scanf("%ld",&n)!=EOF)
	{
		if(n==2||n==5)
		{
			continue;
		}
		m=c=0;
		while(1)
		{
			m=m*10+1;
			c++;
			if(m%n==0)
			{
				break;	
			}
			else
			{
				m=m%n;	// 若n==7  当111%7不为0时 下一步要用1111%7
							//	已经前面高位的运算结果  下一步在余数后添 1 进行除法运算即可	
			}		
		}
		printf("%d\n",c);	
	}
	return 0;
}


你可能感兴趣的:(ZOJ)