1062 - 1的个数

对于一个给定的[0,10000]内的不能被2或5整除的整数n,n放大某些倍数后,结果会是仅由很多1组成的一个数a。现在请你找出最小的那个a中包含的1的个数。

题目输入

输入包含多组测试数据。每组输入为一个整数n(0<=n<=10000)。

题目输出

对于每组输入,输出最小的那个a中包含的1的个数。

输入/输出样例

题目输入

3
7
9901

题目输出

3
6
12

C语言解答

#include<stdio.h>

int main()
{
	int n,k,c;
	while(scanf("%d",&n)!=EOF)
	{
		k=c=1;
		while(k<n)
		{
			k=k*10+1;
			c++;
		}
		while(k%n)
		{
			k=k%n*10+1;
			c++;
		}
		printf("%d\n",c);
	}
	return 0;
}

C++解答

#include<stdio.h>

int main()
{
	int n,k,c;
	while(scanf("%d",&n)!=EOF)
	{
		k=c=1;
		while(k<n)
		{
			k=k*10+1;
			c++;
		}
		while(k%n)
		{
			k=k%n*10+1;
			c++;
		}
		printf("%d\n",c);
	}
	return 0;
}
时间限制 1 秒
内存限制 32 MB
讨论 统计
上一题 下一题