|
2 / 2 / 0
Регистрация: 29.10.2020
Сообщений: 30
|
|
Циферки15.10.2021, 17:51. Показов 11581. Ответов 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, нужны циферки по кодировке модуля Включаешь комп - пробегают циферки, потом винда и чёрный экран. Пишет неоптимальное разрешение экрана Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
|
Кому нужен 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, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|