|
2 / 2 / 0
Регистрация: 29.10.2020
Сообщений: 30
|
|
Циферки15.10.2021, 17:51. Показов 11577. Ответов 12
Алиса учится работать с двоичными числами. Она уже поняла, что число в двоичной записи получается в несколько раз длиннее, чем в десятичной. А еще она поняла, что нули писать дольше чем единицы. И теперь ее любимые числа — это те, двоичная запись которых содержит как можно больше единиц. Алисе дали задание — выбрать одно произвольное число из заданного закрытого интервала [a;b][a;b] и перевести его в двоичную запись. И теперь Алиса просит, чтобы вы написали программу, которая найдет в этом интервале число, двоичная запись которого содержит наибольшее количество единиц. Если таких чисел будет несколько, то Алиса будет рада любому из них.
Формат входных данных На вход через пробел подаются два натуральных числа aa и bb. При этом 1≤a≤b≤10^18 Обратите внимание, что для хранения таких чисел в программе на С++ вам потребуется тип long long. В программе на PascalABC такой тип называется Int64. Формат выходных данных Программа должна вывести одно целое число из заданного диапазона, двоичная запись которого содержит наибольшее количество единиц. Само число следует выводить в десятичной записи. Методика проверки и пояснение к тесту Программа проверяется на 20 тестах. Прохождение каждого теста оценивается в 1 балл. При этом в первых пяти тестах 1≤a≤b≤1000. Тесты из условия задачи при проверке не используется. Sample Input 1: 150 200 Sample Output 1: 191 Sample Input 2: 1 255 Sample Output 2: 255 Sample Input 3: 127 200 Sample Output 3: 127
0
|
|
| 15.10.2021, 17:51 | |
|
Ответы с готовыми решениями:
12
Игра циферки Складываем циферки Шарики, циферки |
|
2 / 2 / 0
Регистрация: 29.10.2020
Сообщений: 30
|
|
| 15.10.2021, 18:56 [ТС] | |
|
В условии не сказано, значит можно любыми способами
0
|
|
|
312 / 192 / 98
Регистрация: 01.05.2014
Сообщений: 522
|
||||||
| 15.10.2021, 19:20 | ||||||
1
|
||||||
|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
|
||||||
| 15.10.2021, 19:40 | ||||||
Сообщение было отмечено Petya_Rematov как решение
Решение
2
|
||||||
|
5 / 5 / 0
Регистрация: 20.10.2020
Сообщений: 53
|
|
| 16.10.2021, 20:43 | |
|
@Gdez если Вам не составит труда, можете оптимизировать прогу, а то время выполнение большое(
0
|
|
|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
|
||||||
| 16.10.2021, 21:55 | ||||||
|
ArtyomOvsyannik, странно... А так?
1
|
||||||
|
0 / 0 / 0
Регистрация: 17.10.2021
Сообщений: 1
|
|
| 17.10.2021, 01:01 | |
|
@Gdez Не могли бы Вы, пожалуйста, объяснить код?
0
|
|
|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
|
||||||
| 17.10.2021, 06:47 | ||||||
|
ArtyomOvsyannik, нашел -> при a=b=1 "вылетает"
Нужно
zofann, максимальное количество 1 в двоичном числе из диапазона от 1 до 2^n -> в числе 2^n - 1 (в коде - это res). Допустим b = 60 -> 111100; a = 50 -> 110010 Ближайшая степень двойки, большая b -> 64 (n == 6) res = 64 - 1 = 63 (111111 - 6 единиц) Так как res > b, то минимальное двоичное число, меньшее 63 с пятью единицами -> 31 - это 63 - 2^(n-1) = 63 - 32 == (111111 - 100000) -> "убираем" старший бит в res. "n" становится == 5 Если res < a -> 31 < 50, то следующее число с пятью единицами 101111 -> получается из "выражения" 11111 + 10000 ("смещаем" старший бит влево на одну позицию, "вставляя" 0 между первой и второй 1) ->31 + 2^(n-1) = 31 + 16 = 47 -> 101111. Если res < a -> 47 < 50, "смещаем" следующий бит 101111 влево -> 110111 -> 101111 + 1000 -> 47 + 8 -> 47 + 2^(n-1); n == 5-1=4; res = 47+8 = 55 Всё -> a <= res <= b.
0
|
||||||
|
5 / 5 / 0
Регистрация: 20.10.2020
Сообщений: 53
|
|
| 17.10.2021, 07:59 | |
|
@Gdez Я не особо понял, где косяк, но стало вообще неправильно на некоторых тестах
Например на 1 255
0
|
|
|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
|
||||||
| 17.10.2021, 08:12 | ||||||
|
ArtyomOvsyannik, да. С ka и kb неверно... Не проверил
![]()
"@Gdez" - набирать не нужно "Нажимаешь" на имя слева в заголовке комментария (например, Gdez); автоматом "проставляется ссылка" на "автора" в ответе и пишешь ему свой комментарий. "Автору" "прилетает" сообщение - есть комментарий к его "комментарию"
2
|
||||||
|
5 / 5 / 0
Регистрация: 20.10.2020
Сообщений: 53
|
|
| 17.10.2021, 09:59 | |
|
Gdez, понял, благодарю!
Добавлено через 1 час 16 минут Gdez, хорошего Вам дня!
0
|
|
|
Status 418
|
||||||
| 17.10.2021, 10:33 | ||||||
Не по теме: уже 2-3й день наблюдаю за этими Г-кодерами. устал
1
|
||||||
| 17.10.2021, 10:33 | |
|
Помогаю со студенческими работами здесь
13
О чем говорят эти "циферки"? Вопрос про циферки, как вывести Как они так красиво циферки вывели? СМА BOSCH WAS 24741OE16 FD8807200438, нужны циферки по кодировке модуля Включаешь комп - пробегают циферки, потом винда и чёрный экран. Пишет неоптимальное разрешение экрана Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
|
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo
Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло.
Но на выплатах по больничным это. . .
|
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2.
Номеклатура. . .
|