C#求N个数的最大公约数


 

public static double GCD(List<double> listOri)
{
    List<double> list = new List<double>(listOri);            

    double c = 1;           
    for (int i = 1; i < list.Count; i++)
    {
        if (list[i - 1] < list[i]) //确定a>b
        {
            list[i - 1] = list[i - 1] + list[i];
            list[i] = list[i - 1] - list[i];
            list[i - 1] = list[i - 1] - list[i];
        }
        for (c = list[i]; c >= 1; c--)
        {
            if (list[i - 1] % c == 0 && list[i] % c == 0)
                break;
        }
        list[i] = c;
    }
    return c;
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM