НОД
Давай найдем наибольший общий делитель (НОД). Для этого:
Введи с клавиатуры 2 целых положительных числа.
Выведи в консоли наибольший общий делитель.
Требования:
1. Программа должна считывать с клавиатуры 2 строки. -ОК
2. Если введенные строки невозможно преобразовать в положительные целые числа, должно возникать исключение. _?Исключение типа throwable или свое личное исключение создать???????????
3. Программа должна выводить данные на экран.
4. Программа должна выводить на экран наибольший общий делитель (НОД) чисел, считанных с клавиатуры, и успешно завершаться.--Что такое ОБЩИЙ ДЕЛИТЕЛЬ ЧИСЕЛ?
Руслан
28 уровень
Не могу понять задачу. помогите очень прошу.
Решен
Комментарии (8)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
ГоффMaster
11 февраля 2021, 23:43полезный
Если подробно, то сюда: https://ru.wikipedia.org/wiki/%D0%9D%D0%B0%D0%B8%D0%B1%D0%BE%D0%BB%D1%8C%D1%88%D0%B8%D0%B9_%D0%BE%D0%B1%D1%89%D0%B8%D0%B9_%D0%B4%D0%B5%D0%BB%D0%B8%D1%82%D0%B5%D0%BB%D1%8C
Если вкратце, то вот: есть два числа. У каждого есть делители - числа, на которые число делится без остатка.
Например, для числа 6 делители 1, 2 и 3.
А для 8 делители 1, 2 и 4.
Наибольший общий делитель для чисел 6 и 8 будет 2.
Эта задача на умение гуглить. Нужно быть семи пядей во лбу, что бы самому изобрести алгоритм поиска наибольшего общего делителя для двух чисел. К счастью, такие алгритмы существуют, отлично гуглятся, и среди них есть весьма интересные.
+1
РусланSystem Administrator в courtExpert
12 февраля 2021, 06:45
Спасибо, теперь понял о чем речь.
0
Илья Соколов
11 февраля 2021, 23:43
1.НОД - либо в google, либо в школу. 6 класс, по - моему.
2.Как нам узнать, условия и данные, которые тебе предоставил сервер? Хотя бы название задачи.
0
MasterMarg
12 февраля 2021, 06:41полезный
А у меня Илья Соколов в Самаре работает Java-программистом)))))
Можно пойти по тупому пути, выбрать меньшее число и начать от него двигаться к единице, проверяя каждый раз a%c и b%c, до тех пор, пока не дойдешь до 1 или не найдешь общий делитель) Но не факт, что это проканает, ведь числа могут быть громадными, хотя вроде тут не видел в задачах ограничение по времени, да и считает компьютер числа быстро
+1
РусланSystem Administrator в courtExpert
12 февраля 2021, 06:47
Спасибо, Полезное замечание.
0
Илья Соколов
12 февраля 2021, 11:20полезный
Эффективными способами вычисления НОД двух чисел являются алгоритм Евклида и бинарный алгоритм.
Кроме того, значение НОД(m,n) можно легко вычислить, если известно каноническое разложение чисел m {\displaystyle m} m и n {\displaystyle n} n на простые множители:
Это из Вики. В гугле 4 ссылка. Я взял у сына учебник(6 класс) и там разложение на простые множители. Умение пользоваться справочной информацией - важный навык для программиста. И самообучаемость тоже.
+1
Илья Соколов
12 февраля 2021, 11:20
Это ЗНАК!!!))))))
+1
РусланSystem Administrator в courtExpert
13 февраля 2021, 09:08
Благодарю это полезная инфа. :) спасибо огроменное.
0