输出能整除n这个由1组成的数中最少有多少个1

题目信息:输出能整除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;
        }
    }


}


猜你喜欢

转载自blog.csdn.net/qq_34937637/article/details/81330331
今日推荐