class Program
    {
        static void Main(string[] args)
        {
            unit a, b;
            Console.WriteLine("请输入第一个正整数:");
            while ( !unit.TryParse(Console.Read Line() ,out a));
            Console.WriteLine("格式不正确,请重新输入:");
            Console.WriteLine("请输入第二个正整数:");
            while(!uint.TryParse(Console.ReadLine(),out b))
                Console.WriteLine("格式不正确,请重新输入:");
            for( uint  i = a>b?a:b; i<=a*b ; i++)
            {
                if ( i % a ==0 && i % b == 0)
                {
                    Console.WriteLine("最小公倍数为:" +i);
                    break ;
                }
            }
        }
    }
}
要求是在主方法中由用户输入两个正整数 并且计算最小公倍数  如果还要在程序中加入计算最大公约数的代码  定义i 为a 和b 之间的较小值 以i为循环 怎么写这个程序

解决方案 »

  1.   


    public static void Main()
            {            uint a, b;
                Console.WriteLine("请输入第一个正整数:");
                while (!uint.TryParse(Console.ReadLine(), out a))
                    Console.WriteLine("格式不正确,请重新输入:");
                Console.WriteLine("请输入第二个正整数:");
                while (!uint.TryParse(Console.ReadLine(), out b))
                    Console.WriteLine("格式不正确,请重新输入:");
                for (uint i = a > b ? a : b; i <= a * b; i++)
                {
                    if (i % a == 0 && i % b == 0)
                    {
                        Console.WriteLine("最小公倍数为:" + i);
                        break;
                    }
                }
                for (uint j = a > b ? b : a; j > 0; j--)
                {
                    if (a % j == 0 && b % j == 0)
                    {
                        Console.WriteLine("最大公约数为:" + j);
                        break;
                    }
                }
                Console.Read();        }
      

  2.   

    这样少循环点,
    public static void Main()
            {            uint a, b;
                Console.WriteLine("请输入第一个正整数:");
                while (!uint.TryParse(Console.ReadLine(), out a))
                    Console.WriteLine("格式不正确,请重新输入:");
                Console.WriteLine("请输入第二个正整数:");
                while (!uint.TryParse(Console.ReadLine(), out b))
                    Console.WriteLine("格式不正确,请重新输入:");
                for (uint i = a > b ? a : b; i <= a * b; i++)
                {
                    if (i % a == 0 && i % b == 0)
                    {
                        Console.WriteLine("最小公倍数为:" + i);
                        break;
                    }
                }
                for (uint j = a > b ? b : a; j > (a > b ? a : b)-1 : b; j--)
                {
                    if (a % j == 0 && b % j == 0)
                    {
                        Console.WriteLine("最大公约数为:" + j);
                        break;
                    }
                }
                Console.Read();        }
      

  3.   

    看看 学习学习   j > (a > b ? a : b)-1 : b 这个地方不懂 有人能解释下么
      

  4.   


    public static void Main()
        {
            uint a, b;
            Console.WriteLine("请输入第一个正整数:");
            while (!uint.TryParse(Console.ReadLine(), out a))
                Console.WriteLine("格式不正确,请重新输入:");
            Console.WriteLine("请输入第二个正整数:");
            while (!uint.TryParse(Console.ReadLine(), out b))
                Console.WriteLine("格式不正确,请重新输入:");
            uint max = a > b ? a : b;
            uint min = a > b ? b : a;
            //最小公倍数
            if (max % min == 0)
            {
                Console.WriteLine("最小公倍数为:" + max);
            }
            else
            {
                uint gongbeishu = max + max;
                while (gongbeishu % min != 0)
                {
                    gongbeishu += max;
                }
                Console.WriteLine("最小公倍数为:" + gongbeishu);
            }        //最大公约数
            for (uint j = a > b ? b : a; j > 0; j--)
            {
                if (a % j == 0 && b % j == 0)
                {
                    Console.WriteLine("最大公约数为:" + j);
                    break;
                }
            }
            Console.Read();
        }最小公倍数可以更少几次循环,其实1楼已经给出了正确的了,就是数值如果很大的话,循环次数会比较多。