关于利用递归求解最大公约数两种方式
第一种:利用a%b,所得余数是否等于0来进行判断,
var num1 = prompt("数字1"); var num2 = prompt("数字2"); function fn(a, b) { var r = 0; r=a % b; a=b; b=r; if(r==0) { //如果r等于0,说明最大公约数是那个值小的数 return a; } else{ return fn(a,b); } } console.log(fn(num1, num2));
第二种:利用a%c==0&&b%c==0(c<a或从c<b)来进行判断,
var num1 = prompt("数字1"); var num2 = prompt("数字2"); function fn(a) { if (num1 % a == 0 && num2 % a == 0) { console.log(a); } else if (a == 1) { return 1; } else { a = a - 1; return fn(a); } } fn(num1);

浙公网安备 33010602011771号