Умные вопросы
Войти
Регистрация
Вот сочинил задачку по информатике (олимпиадную) . Попробуйте!
Надеюсь, вы знаете алгоритм Евклида нахождения НОД.
Задача: для заданного N указать пару чисел a N, b N, чтобы алгоритм Евклида НОД (а, b) потребовал максимального числа шагов.
Например, для N=3*10^9 можно найти такую пару чисел, что процесс потребует 48 шагов.
8 года
назад
от
DanielReelm
1 ответ
▲
▼
0
голосов
Первое, что приходит в голову - найти НОД для всех пар чисел (a, b) N, для каждого нахождения записать количество шагов, а так же пары чисел в массивы, после чего найти в массиве количества шагов максимальное значение и по номеру элемента отобразить эту пару чисел.
Впрочем можно упростить алгоритм, просто записывая в одну переменную количество шагов, в другую пару чисел, и обновлять эти переменные, если количество шагов в новой итерации нахождения НОД будет выше, чем в переменной. Но тогда не получится отобразить все пары чисел, для которых количество шагов максимально, если их больше одной.
8 года
назад
от
СветланаЗайнашева
Связанные вопросы
1
ответ
Всем привет. Можно ли вынести конденсаторы на проводниках за пределы платы.
6 года
назад
от
Артем Невейкин
1
ответ
Что в этой схеме не так?
6 года
назад
от
Дмитрий Новиков
1
ответ
Ребята, помогите пожалуйста с английским Объясните в чем разница между синонимами date, number, digits, figures
9 года
назад
от
akram