|
10 / 10 / 1
Регистрация: 27.06.2013
Сообщений: 151
|
||||||
"Забавная игра"12.03.2014, 20:52. Показов 16153. Ответов 13
Метки нет (Все метки)
Есть задача:
Забавная игра Легендарный учитель математики Юрий Петрович придумал забавную игру с числами. А именно, взяв произвольное целое число, он переводит его в двоичную систему счисления, получая некоторую последовательность из нулей и единиц, начинающуюся с единицы. (Например, десятичное число 1910 = 1*24+0*23+0*22+1*21+1*20 в двоичной системе запишется как 100112.) Затем учитель начинает сдвигать цифры полученного двоичного числа по циклу (так, что последняя цифра становится первой, а все остальные сдвигаются на одну позицию вправо), выписывая образующиеся при этом последовательности из нулей и единиц в столбик — он подметил, что независимо от выбора исходного числа получающиеся последовательности начинают с некоторого момента повторяться. И, наконец, Юрий Петрович отыскивает максимальное из выписанных чисел и переводит его обратно в десятичную систему счисления, считая это число результатом проделанных манипуляций. Так, для числа 19 список последовательностей будет таким: (Время: 1 сек. Память: 16 Мб Сложность: 30%) 10011 11001 11100 01110 00111 10011 … и результатом игры, следовательно, окажется число 1*24+1*23+1*22+0*21+0*20 = 28. Поскольку придуманная игра с числами все больше занимает воображение учителя, отвлекая тем самым его от работы с ну очень одаренными школьниками, Вас просят написать программу, которая бы помогла Юрию Петровичу получать результат игры без утомительных ручных вычислений. Входные данные Входной файл INPUT.TXT содержит одно целое число N (0 <= N <= 32767). Выходные данные Ваша программа должна вывести в выходной файл OUTPUT.TXT одно целое число, равное результату игры. intput 19 output 28 intput 1212 output 1938 мое решение (не проходит тест 8):
0
|
||||||
| 12.03.2014, 20:52 | |
|
Ответы с готовыми решениями:
13
Забавная игра Забавная игра
|
|
102 / 102 / 40
Регистрация: 24.01.2014
Сообщений: 1,242
|
|
| 12.03.2014, 20:52 | |
|
ALEXKIRNAS, алгоритм - введенное число перевести в 2-ую систему -> записать в массив -> сдвинуть числа -> записать в массив -> проверить повторилось число или нет -> если нет, повторять 2 последних дейсвтия, покуда не повторится -> из элементов массива найти максимальное -> вывести в файл
0
|
|
|
10 / 10 / 1
Регистрация: 27.06.2013
Сообщений: 151
|
|
| 12.03.2014, 20:58 [ТС] | |
|
задача взята с асмп.ру
Добавлено через 5 минут У меня реализирован другой алгоритм: Берем число (например 29), переводим в двоичну систему (11101), далее записую в массив и дублирую. Получаю такой массив (1110111101). Далее ищу найбольшое скопление единиц и откуда беру число длиной ровной длине числа в двоичной системе (тут 5) (1110111101). Переводю в нормальный вид.
0
|
|
|
102 / 102 / 40
Регистрация: 24.01.2014
Сообщений: 1,242
|
|
| 12.03.2014, 21:06 | |
|
ALEXKIRNAS, интересное решение, но разве условием не является именно сдвигать числа ?
0
|
|
|
10 / 10 / 1
Регистрация: 27.06.2013
Сообщений: 151
|
|
| 12.03.2014, 21:16 [ТС] | |
|
да в условии так, но от нас требуется только ответ. Я уже несколько часов придумаю тесты, но моя программа ни один не завалила, а на асмп.ру она не проходит 8 тест. :-(
0
|
|
|
102 / 102 / 40
Регистрация: 24.01.2014
Сообщений: 1,242
|
|
| 12.03.2014, 22:26 | |
|
ALEXKIRNAS, a 4to za 8 test ?
0
|
|
|
10 / 10 / 1
Регистрация: 27.06.2013
Сообщений: 151
|
|
| 13.03.2014, 15:49 [ТС] | |
|
Если б знал, то не писал бы в форуме.
0
|
|
|
Модератор
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
|
|||
| 13.03.2014, 16:03 | |||
![]() 1910 в двоичной будет 11101110110 100112. откуда в двоичной системе двойка? Добавлено через 1 минуту
0
|
|||
|
10 / 10 / 1
Регистрация: 27.06.2013
Сообщений: 151
|
|
| 13.03.2014, 17:38 [ТС] | |
|
Здесь условие немного подпорчено. Насамом деле так:
1910 = 1*24+0*23+0*22+1*21+1*20
0
|
|
|
Модератор
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
|
|||||||
| 13.03.2014, 19:28 | |||||||
![]() универсальная функция циклического массива сдвига переменной любой(в пределах разумного) разрядности
т.е нужно 1 высчитать разрядность числа циклом while 2 в цикле for пройти все сдвиги с запоминанием максимального 3 вывести максимальное и все никаких массивов
0
|
|||||||
|
3 / 3 / 0
Регистрация: 20.11.2019
Сообщений: 18
|
||||||
| 25.01.2020, 21:29 | ||||||
|
Вот решение задачи. Код прошел проверку на acmp . ru и принял решение как правильное.
1
|
||||||
|
863 / 513 / 215
Регистрация: 19.01.2019
Сообщений: 1,216
|
||||||
| 26.01.2020, 00:22 | ||||||
|
Dmitry Vin, чего-то перемудрили.
1
|
||||||
| 26.01.2020, 00:30 | |
|
Не по теме: "забавно", что спустя почти 6 лет подняли тему)
0
|
|
|
3 / 3 / 0
Регистрация: 20.11.2019
Сообщений: 18
|
|
| 26.01.2020, 11:56 | |
|
nalbe666, спасибо за интересный код. Если честно, большинство операторов в нем я не понял, но очень хотелось бы писать такие эффективные и короткие решения, как у Вас. Буду изучать Ваш код и учиться новому.
0
|
|
| 26.01.2020, 11:56 | |
|
Помогаю со студенческими работами здесь
14
Игра слов, игра Scrabble Забавная фича C++ Builder 6 Как сделать так, чтобы при нажатии на кнопку "Новая игра" игра начиналась заново? Забавная игра Забавная игра Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|