C语言实现多个数的最小公倍数

    xiaoxiao2026-08-19  2

    #include <stdio.h> //获得最小公倍数 int doLCM(int* array,int size){ int x,y,num=array[0],i,gcd; //去数组的第一和第二个数,计算它们的公倍数,然后再取第三个数, //和之前的公倍数计算它们的公倍数,直到只有一个数。 for(i=0;(i+1)<size;i++){ x=num; y=array[i+1]; //计算公约数 gcd = getGCD(x,y); //计算公倍数 num = x/gcd * y/gcd * gcd; } return num; } //获取最大公约数 int getGCD(int a,int b){ int temp; if(a < b){ temp = a; a = b; b = temp; } if(a%b == 0){ return b; }else{ return getGCD(b,a%b); } } int main(void){ int array[3] = {144,24,36}; int result = doLCM(array,3); printf("%d\n",result); return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-1311341.html
    最新回复(0)