C#学习篇6:求2个数的最大公约数与最小公倍数

 class Program
    {
        //输入两个正整数m和n,求其最大公约数和最小公倍数m
        static int common_divisor(int m, int n) //求最大公约数
        {
            int i;
            for (i = m 0; i--) //令i为两个数中小的那个,开始循环
            {
                int cdm = m % i;
                int cdn = n % i;
                if (cdm==0 && cdn ==0) //检测到两者的第一个公约数时,跳出循环,此时i即为最大公约数
                {
                    break;
                }
            }
            return i;
        }

        static int common_Multiple(int m, int n) //求最小公倍数
        {
            int i;
            for (i = m > n ? m : n; i > 0; i++) //令i为两个数中大的那个,开始循环
            {
                int cdm = i % m;
                int cdn = i % n;
                if (cdm == 0 && cdn == 0) //检测到两者的第一个公倍数时,跳出循环,此时i即为最大公约数
                {
                    break;
                }
            }
            return i;
        }

        static void Main(string[] args)
        {
            int m = Convert.ToInt32(Console.ReadLine());
            int n = Convert.ToInt32(Console.ReadLine());
            int cd = common_divisor(m,n);
            Console.WriteLine("这两个数的最大公约数为" + cd);
            int cm = common_Multiple(m, n);
            Console.WriteLine("这两个数的最大公倍数为" + cm);
        }
    }

 

你可能感兴趣的:(C#)