关于利用递归求解最大公约数两种方式

第一种:利用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);

 

posted @ 2020-12-21 22:32  炅灵、💯  阅读(472)  评论(0)    收藏  举报