JS задача. Взаимно простые числа
Добрый вечер! Пытаюсь решить задачу:
Составить программу, проверяющую, будет ли взаимно просты два натуральных числа. Не могли бы вы описать ход решения. Не программой, а объяснением того как бы вы это делали. Вот что я думаю: Сперва создать две переменные prompt, в которые будут вноситься числа. Потом с помощью цикла перебрать на какие числа они делятся без остатка, потом сравнить эти два массива, если есть схожие числа, то выдавать сообщение о том, что числа являются не взаимными! Кто что думает? |
Цитата:
Цитата:
Такой алгоритм будет короче |
Можно найти наибольший общий делитель (по алгоритму Евклида), и если он равен 1, то взаимно простые.
|
Взаимно простые числа
Алгоритм Евклида Реализации алгоритмов/Алгоритм Евклида
function isCoprime (a, b) {
console.log(a + "," + b);
var num;
while ( b ) {
num = a % b;
console.log(num);
a = b;
b = num;
}
if (Math.abs(a) == 1) {
console.log(true);
return true;
}
console.log(false);
return false;
}
isCoprime(1071, 462);
isCoprime(14, 25);
isCoprime(15, 25);
isCoprime(1, 1);
|
Цитата:
|
спасибо за разъяснения!
|
| Часовой пояс GMT +3, время: 23:45. |