zoukankan      html  css  js  c++  java
  • 求最大公约数和最小公倍数

    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。");
                    }
                }
            }
        }
     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。");
                    }
                }
            }
        }
  • 相关阅读:
    HDU4825/5536 [01 字典树/简单字典树更新]
    HDU 2017 多校联合Contest 3
    51nod 多重背包 [二进制优化]
    UVa 123042D Geometry 110 in 1! [平面几何]
    UVA 11796Dog Distance[平面几何]
    洛谷P1004 方格取数[多维dp]
    HDU 1576 A/B [逆元]
    POJ1006 中国剩余定理
    HDU 1573~3579 X问题&Hello Kiki[同余方程]
    一元线性同余方程组
  • 原文地址:https://www.cnblogs.com/xuekai-to-sharp/p/3557010.html
Copyright © 2011-2022 走看看