Показать сообщение отдельно
Старый 23.05.2015, 09:27   #8 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Asya_inter Посмотреть сообщение
Значит это не так, да?
Именно так. Точнее:
вводим числа, пока не введем ноль - на нем всё заканчивается. После ввода каждого числа оно преобразуется в двоичную форму, подсчитывается количество единиц в этой двоичной форме и все три числа (самО число, его двоичная форма и количество единиц) запоминаются в переменных N, St и NO, соответственно. St и NO выводятся на экран. Далее смотрится, не превышает ли количество единиц в двоичной записи (NO) ранее найденное максимальное значение количества единиц (Max). Если превышает, то запоминаем полученные три числа (точнее, число, строку и число), как M, SM и Max. Дальше обрабатываем следующее вводимое десятичное число.
В итоге всего этого у нас остаются параметры M, SM и Max, соответствующие числу, имеющему наибольшее количество единиц в двоичной записи. Их мы и выводим на экран.
P.S. Если чисел, имеющих в своей двоичной записи максимальное количество единиц, было введено несколько, то запоминается и выводится первое из них.

Вот как выглядит экран работающей программы:
Изображения
 
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070