首页 > 其他 > 详细

求最大公约数和最小公倍数

时间:2014-02-20 18:27:56      阅读:271      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
class Program
    {
        public float maxGongYueShu(int n1, int n2)
        {
            int temp = Math.Max(n1, n2);//求两个数的最大值
            n2 = Math.Min(n1, n2);//求两个数中的最小值
            n1 = temp;//记录临时值
            while (n2 != 0)
            {
                n1 = n1 > n2 ? n1 : n2;//使n1中的数大于n2中的数
                int m = n1 % n2;//记录n1求余n2的结果
                n1 = n2;//交换两个数
                n2 = m;//记录求余结果
            }
            return n1;//得到最大公约数
        }
        static void Main(string[] args)
        {
            while (true)
            {
                Console.Write("请输入第一个数:");
                int n1 = Convert.ToInt32(Console.ReadLine());//记录第一个数
                Console.Write("请输入第二个数:");
                int n2 = Convert.ToInt32(Console.ReadLine());//记录第二个数
                if (n1 * n2 != 0)//判断两个数中的一个是否为0
                {
                    Program program = new Program();//创建Program对象
                    Console.WriteLine("最大公约数:" + program.maxGongYueShu(n1, n2));//输出最大公约数
                }
                else
                {
                    Console.WriteLine("这两个数不能为0。");
                }
            }
        }
    }
bubuko.com,布布扣
bubuko.com,布布扣
 class Program
    {
        public float minGongBeiShu(int n1, int n2)
        {
            int temp = Math.Max(n1, n2);//求两个数的最大值
            n2 = Math.Min(n1, n2);//求两个数中的最小值
            n1 = temp;//记录临时值
            int product = n1 * n2;//求两个数的乘积
            while (n2 != 0)
            {
                n1 = n1 > n2 ? n1 : n2;//使n1中的数大于n2中的数
                int m = n1 % n2;//记录n1求余n2的结果
                n1 = n2;//交换两个数
                n2 = m;//记录求余结果
            }
            return (product / n1);//得到最小公倍数
        }
        static void Main(string[] args)
        {
            while (true)
            {
                Console.Write("请输入第一个数:");
                int n1 = Convert.ToInt32(Console.ReadLine());//记录第一个数
                Console.Write("请输入第二个数:");
                int n2 = Convert.ToInt32(Console.ReadLine());//记录第二个数
                if (n1 * n2 != 0)//判断两个数中的一个是否为0
                {
                    Program program = new Program();//创建Program对象
                    Console.WriteLine("{0}和{1}的最小公倍数为{2}", n1, n2, program.minGongBeiShu(n1, n2));//输出最小公倍数
                }
                else
                {
                    Console.WriteLine("这两个数不能为0。");
                }
            }
        }
    }
bubuko.com,布布扣

求最大公约数和最小公倍数

原文:http://www.cnblogs.com/xuekai-to-sharp/p/3557010.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!