C# 在线求多个自然数的最大公约数和最小公倍数

最近在找有关求最大公约数和最小公倍数的有关算法,找来找去都是两个自然数的,没有多个整数的相关的算法,思考了一下,做了一个支持多个的自然数的,直接上代码

    //求两个数中的比较大的
     static long GetMax(long a, long b)
        {
            return a > b ? a : b;
        }

    //求两个数中的比较小的
        static long GetMin(long a, long b)
        {
            return a < b ? a : b;
        }
    /// <summary>
        /// 求集合的的公约数
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public static IList<long> GetYueShus(IList<long> data)
        {
            List<long> list = new List<long>(data);
            long min = 1, max = 1;
            for (int i = 1; i < list.Count; i++)
            {
                max = GetMax(list[i - 1], list[i]);
                min = GetMin(list[i - 1], list[i]);
                while (max % min != 0)//辗
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值