求用Javascript做三个数字的最大公约数和最小公倍数的源代码

求用Javascript做三个数字的最大公约数和最小公倍数的源代码
最新回答
情根深种

2021-10-25 06:35:43

<script language="javascript">function getSpecialNum(num1,num2,num3){
var max=num1;
var min=num1;
var specilanum=new Object();
if(num1<1||num2<1||num3<1){
specilanum.GCM=-1;
specilanum.LCM=-1;
return specilanum;
}
if(num2>num1)max=num2;
if(max<num3)max=num3;
if(num2<num1)min=num2;
if(num3<min)min=num3;

for(var i=min;i>0;i--){
if(num1%i==0&&num2%i==0&&num3%i==0){
specilanum.GCM=i;
break;
}
}

for(var i=max;i<=num1*num2*num3;i++){
if(i%num1==0&&i%num2==0&&i%num3==0){
specilanum.LCM=i;
break;
}
}
return specilanum;
}
</script>
调用该js函数,传递三个数字,会返回一个js对象,这个对象的属性LCM表示最小公倍数,GCM表示最大公约数。

var result=getSpecialNum(3,5,15);
alert(result.LCM)//弹出最小公倍数
alert(result.GCM)//弹出最大公约数