题目信息:输出能整除n这个由1组成的数中最少有多少个1,前提是n不能被2和5整除!且n为int范围内的数
解析:即n能被由多少个1组成的数整除。如n=3 时111%3==0,即1的个数为3
样例输入
3
7
9901
样例输出
3
6
12
代码实现:
using System;
namespace cchoop
{
class Program
{
public static void Main()
{
Console.WriteLine(Test(1));
Console.WriteLine(Test(3));
Console.WriteLine(Test(7));
Console.WriteLine(Test(9901));
Console.WriteLine(Test(9903));
}
public static int Test(int num)
{
int yiCount = 0;
int tempNum = num;
int yiNum = 0;
while (tempNum > 0)
{
tempNum /= 10;
yiCount++;
yiNum = yiNum * 10 + 1;
}
int yuNum = yiNum % num;
while (yuNum != 0)
{
yuNum = (yuNum * 10 + 1) % num;
yiCount++;
}
return yiCount;
}
}
}