JavaScript: найдите самый большой общий делитель или GCD из более чем 2 целых
JavaScript Math: Упражнение-9 с решением
Напишите функцию JavaScript, чтобы найти GCD (наибольший общий делитель) из более чем 2 целых чисел.
Тестовые данные :
console.log (gcd_more_than_two_numbers ([3,15,27]));
console.log (gcd_more_than_two_numbers ([5,10,15,25]));
Выход :
3
5
Пример решения: -
HTML-код:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>GCD (greatest common divisor) of more than 2 integers</title>
</head>
<body>
</body>
</html>
Код JavaScript:
function gcd_more_than_two_numbers(input) {
if (toString.call(input) !=="[object Array]")
return false;
var len, a, b;
len = input.length;
if ( !len ) {
return null;
}
a = input[ 0 ];
for ( var i = 1; i < len; i++ ) {
b = input[ i ];
a = gcd_two_numbers( a, b );
}
return a;
}
function gcd_two_numbers(x, y) {
if ((typeof x !=='number') || (typeof y !=='number'))
return false;
x = Math.abs(x);
y = Math.abs(y);
while(y) {
var t = y;
y = x % y;
x = t;
}
return x;
}
console.log(gcd_more_than_two_numbers([3,15,27]));
console.log(gcd_more_than_two_numbers([5,10,15,25]));
Пример вывода:
3 5
Блок - схема:
Демонстрация в реальном времени:
См. Pen javascript-math-упражнение-9 от w3resource ( @ w3resource ) на CodePen .
Улучшите этот пример решения и опубликуйте свой код через Disqus
Предыдущий: Напишите функцию JavaScript, чтобы получить наибольший общий делитель (gcd) из двух целых чисел.
Далее: напишите функцию JavaScript для получения наименьшего общего кратного (LCM) из двух чисел.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования