НОД

  • 8
  • Недоступна
Продолжаем наши попытки войти в космическое пространство планеты Линейный Хаос. И вот ещё одно задание с приграничного собеседования для юных поступающих: найти наибольший общий делитель (или НОД) двух целых положительных чисел.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (162)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
RomanBk15 уровень
позавчера, 19:35
Ееее мое 13 попыток! А все из-за того, что в условии исключения писал >=0 или >0, а нужно >=1!!! Потому что ЦЕЛОЕ положительное число.
Ярослав Неило16 уровень, Киев
позавчера, 12:35
Алгоритм получения НОД (как по мне самый простой): в цикле от заданного числа (любого из двух) до 0 проверяем деление каждого из двух чисел на i=number, i--. и как только оба деления дадут в остатке 0 (a%i==0 && b%i==0) это число и будет НОД = i.
Вэйлор15 уровень
вторник, 18:51
Изобрел свой алгоритм получения НОД. Проблема в реализации. Имею два цикла для каждого введенного числа. Проблема в том, что, когда вся необходимая логика выполнится во внутреннем цикле, результаты нужно передать в блок внешнего цикла. Но внешний цикл присваивает значения всем переменным извне цикла, то есть изначально заданными значениями, а не результаты выполнения внутреннего цикла. Что нужно сделать, чтобы внешний цикл использовал результаты выполнения внутреннего цикла, а не первоначально инициализированные переменные извне? Другими словами внешний цикл не видит, что произошло внутри и берет заново значения снаружи. А переменные-то те же самые
Nordis20 уровень, Санкт-Петербург
12 мая, 14:48
Говно задача! Решил только благодаря помментам Павела Боброва , и Анатолия. Кому задача не понравилась так же как и мне , минусуйте её. А Парням спасибо за подсказки.
Artem Yaremchuk22 уровень, Омск
6 мая, 10:27
Кто мне объяснит, почему валидатор не принимает, если обернуто в try catch
виктор16 уровень, Москва
4 мая, 14:10
Я сделал свой алгоритм: цикл от любой из двух введенных переменных до нуля. два ифа: первый проверяет, есть ли остаток от деления первой переменной на i если нет, то второй иф проверяет, есть ли остаток от деления второй переменной на i если нет, то печать и брейк.
Михаил17 уровень, Одесса
28 апреля, 15:43
Поделюсь своим опытом. У меня валидатор ругался на первый и третий пункты, а именно: - Введите ровно 2 строки (по факту я две и вводил) - Результат должен быть выведен на экран (по факту все выводилось) В итоге у меня была ошибка в самом алгоритме вычисления НОДа, и никаком образом не была связана с причинами, указанными валидатором.
Николай16 уровень
25 апреля, 12:05
try catch не нужен )) как оказывается
Nubas18 уровень, Новосибирск
20 апреля, 07:05
Вам в помощь 2 варианта алгоритмов: https://younglinux.info/algorithm/euclidean
Антон15 уровень, Москва
10 апреля, 13:11
Авторы условия опять непойми чего хотят: "В случае если введенные строки невозможно преобразовать в положительные целые числа, должно возникать исключение." Преобразовать в положительное Math.abs Если уж совсем придираться - то и строку можно в числовом формате представить. Научитесь же уже писать адекватно, что бы люди понимали, что надо сделать, а не воевали с нелогичным валидатором, вооружившись логикой