Euclidean greatest common divisor for more than two numbers

前端 未结 6 1361
谎友^
谎友^ 2020-12-16 14:48

Can someone give an example for finding greatest common divisor algorithm for more than two numbers?

I believe programming language doesn\'t matter.

6条回答
  •  佛祖请我去吃肉
    2020-12-16 15:27

    A little late to the party I know, but a simple JavaScript implementation, utilising Sam Harwell's description of the algorithm:

    function euclideanAlgorithm(a, b) {
        if(b === 0) {
            return a;
        }
        const remainder = a % b;
        return euclideanAlgorithm(b, remainder)
    }
    
    function gcdMultipleNumbers(...args) { //ES6 used here, change as appropriate
      const gcd = args.reduce((memo, next) => {
          return euclideanAlgorithm(memo, next)}
      );
    
      return gcd;
    }
    
    gcdMultipleNumbers(48,16,24,96) //8
    

提交回复
热议问题