• 欧几里德算法(最大公约数)


    辗转相除法, 又名欧几里德算法(Euclidean algorithm)乃求两个正整数最大公因子的算法。它是已知最古老的算法, 其可追溯至3000年前。

    也可用于数制转换,例如十进制转为8进制。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace 最大公约数
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("12与18的最大公约数为:{0}", gys(12, 18));
                Console.Write("6与9的最小公倍数为:{0}", gbs(6, 9));
                Console.ReadLine();
            }
            //欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。
            //其计算原理依赖于下面的定理: 定理:gcd(a,b) = gcd(b,a mod b) 
            //其算法用C#语言描述为
            /// <summary>
            /// 最大公约数
            /// </summary>
            /// <param name="a"></param>
            /// <param name="b"></param>
            /// <returns></returns>
            public static int gys(int a, int b)
            {
                if (a == 0)
                {
                    return b;
                }
                if (b == 0)
                {
                    return a;
                }
                if (a < b)
                {
                    int temp;
                    temp = a;
                    a = b;
                    b = temp;
                }
                while (b != 0)
                {
                    int temp;
                    temp = a % b;
                    a = b;
                    b = temp;
                }
                return a;
            }
            /// <summary>
            /// 附:最小公倍数
            /// </summary>
            /// <param name="m"></param>
            /// <param name="n"></param>
            /// <returns></returns>
            public static int gbs(int m, int n)
            {
                return m * n / gys(m, n);
            }
        }
    }
  • 相关阅读:
    1020.表-继承
    1019.模式(限定名)
    1018.行安全策略
    1017.权限
    1016.表结构修改
    1015.【转】oracle rowid and postgresql ctid
    1014.表-系统列
    20201227[java]同构字符串
    oCam_v4850录屏软件
    《软件定义网络中的异常流量检测研究进展》论文笔记
  • 原文地址:https://www.cnblogs.com/peterYong/p/6556717.html
Copyright © 2020-2023  润新知