![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
Diman |
![]() ![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Реальное имя: Дмитрий Кожевников Репутация: ![]() ![]() ![]() |
|
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
DarkWishmaster, усложняешь решение. Все проще гораздо.
Во-первых, никто не просил печатать все числа Хэмминга. Достаточно напечатать одно: то самое, которое первое после заданного пользователем числа. А для того, чтобы определить, принадлежит ли число к последовательности Хэмминга, совсем не нужно определять его простоту. Достаточно его поочередно целочисленно делить на 2, 3, 5 до тех пор пока либо в частном не получим 1 (следовательно, число других делителей кроме 2, 3, 5 не имеет), либо пока остаток будет ненулевым. К примеру, берем 10. сначала делим на 2. =5 (0 в остатке). Еще раз на 2? Нет, нельзя, в остатке будет 1. На 3? Нет, в остатке будет 2. На 5? Да, =1 (0 в остатке). Добрались до 1 в частном, число является 5-гладким (это еще одно название такой последовательности. Подробнее здесь) Итого, программа выглядит так: #include <iostream>Вводим 1025 - программа справедливо показывает, что следующее число Хэмминга = 1080. |
![]() ![]() |
![]() |
Текстовая версия | 22.07.2025 13:44 |