|
98 / 36 / 18
Регистрация: 05.11.2018
Сообщений: 231
|
||||||
Найти количество счастливых чисел не больших заданного N11.11.2018, 15:12. Показов 8096. Ответов 40
Все знают, что счастливые числа - это те числа, которые содержат только счастливые цифры 7 и/или 4. Вам нужно найти количество счастливых чисел не больших N.
Входные данные:В единственной строке входного потока записано натуральное число N, не превышающее 1032. Пример входного файла (input.txt): 56 Выходные данные:В единственную строку выходного потока нужно вывести одно целое число. Пример выходного файла (output.txt): 4 Мой код:
0
|
||||||
| 11.11.2018, 15:12 | |
|
Ответы с готовыми решениями:
40
Найти сумму всех элементов массива вещественных чисел, больших заданного числа
|
|
Модератор
|
|
| 11.11.2018, 15:34 | |
|
Воспользуйтесь для подсчета комбинаторикой, вам же не нужно находить сами числа, нужно только их количество.
Добавлено через 9 минут Если же перебирать сами числа, то QWord даст вам только 2^64, что чуть меньше, чем 2*10^20. В любом случае, никаких делений и проверок на 4 и 7 не нужно, последовательность довольно проста: 4, 7, 44, 47, 74, 77, 444, 447, 474, 477, ... Про степени двойки: у вас всего 2 цифры, примем 4 за 0, 7 за 1, на 32 битах получите все возможные числа. Осталось только из граничного числа выделить максимальное подходящее (из 4 и 7) -- оно (из 0 и 1) и будет искомым количеством, да? Добавлено через 3 минуты На самом деле не совсем, но близко, нужно учесть числа с ведущими нулями, вида 44 (00), 47 (01), 444 (000), 447 (001).
1
|
|
|
98 / 36 / 18
Регистрация: 05.11.2018
Сообщений: 231
|
||||
| 11.11.2018, 16:16 [ТС] | ||||
|
Добавлено через 3 минуты Добавлено через 1 минуту
0
|
||||
|
Модератор
|
|
| 11.11.2018, 16:35 | |
|
56, максимальное подходящее: 44, в двоичной системе 100 (именно так мы избавимся от ведущих нулей), 1002=410.
Осталось запрограммировать эту тривиальщину. Добавлено через 1 минуту Mikstereo, взялись решать олимпиаду, включайте голову, работайте ей, ищите варианты решений, проверяйте их на практике. Иначе ничего не получится. Совсем. Добавлено через 4 минуты либо 56, максимальное подходящее: 47, в двоичной 101, 1012-1=1002=410. Я не знаю, как именно это выглядит, проверяйте гипотезы, разбирайтесь... Возможно есть еще нюансы, которые остались за кадром. Работайте головой...
1
|
|
|
98 / 36 / 18
Регистрация: 05.11.2018
Сообщений: 231
|
|||
| 11.11.2018, 16:42 [ТС] | |||
|
Добавлено через 37 секунд
0
|
|||
|
Модератор
|
||
| 11.11.2018, 17:02 | ||
|
Уже объяснил, см. сообщение #2. Есть смысл объяснять больше одного раза или сами вернетесь и перечитаете? Или, перефразируя одного сценического героя Райкина: здесь читаем, здесь -- не читаем, здесь рыбу заворачивали?
"все возможные" -- все возможные искомые счастливые числа. Если придумаете, что делать с мнимой 1. Добавлено через 9 минут Одна из "придумок" есть в #4: просто дополнять реальной единицей и вычитать 1 -- непредставимое в такой системе число 4 (02), поскольку с явной 1 это 102.
1
|
||
|
98 / 36 / 18
Регистрация: 05.11.2018
Сообщений: 231
|
|||
| 11.11.2018, 18:08 [ТС] | |||
|
Добавлено через 2 минуты
0
|
|||
|
Модератор
|
|
| 11.11.2018, 19:46 | |
|
Вы все немного перепутали. Повторю:
1) для исходного числа 56 нужно найти ближайшее меньшее счастливое, это 47, 2) найденное число представить в двоичной системе исходя из только двух возможных цифр (4 и 7 как 0 и 1), на этом этапе это возможно, цифр может быть до 32 шт, 32 бит должно хватить, с оговоркой про мнимую старшую единицу, 3) по полученному представлению получить искомое количество чисел.
1
|
|
|
98 / 36 / 18
Регистрация: 05.11.2018
Сообщений: 231
|
|
| 11.11.2018, 21:03 [ТС] | |
|
0
|
|
|
98 / 36 / 18
Регистрация: 05.11.2018
Сообщений: 231
|
|
| 11.11.2018, 21:25 [ТС] | |
|
0
|
|
|
Модератор
|
|||||||||||
| 11.11.2018, 21:49 | |||||||||||
|
... то придется вспомнить про мнимую 1 и куда ее пристроить. При наличии 64-битных типов данных можно вообще этим не заморачиваться:
Добавлено через 8 минут
1
|
|||||||||||
|
98 / 36 / 18
Регистрация: 05.11.2018
Сообщений: 231
|
||||||||||||
| 12.11.2018, 10:55 [ТС] | ||||||||||||
|
2)
0
|
||||||||||||
|
98 / 36 / 18
Регистрация: 05.11.2018
Сообщений: 231
|
|
| 12.11.2018, 13:54 [ТС] | |
|
0
|
|
|
98 / 36 / 18
Регистрация: 05.11.2018
Сообщений: 231
|
|||||||||
| 12.11.2018, 14:01 [ТС] | |||||||||
|
Добавлено через 3 минуты
0
|
|||||||||
|
Модератор
|
|
| 12.11.2018, 15:49 | |
|
Думайте дальше, алгоритм расписан, реализуется тривиально.
Перебору тут не место. Добавлено через 4 минуты Вот ваше «число»: var s: String[32], придумайте как получить из него счастливое, это очень просто.
1
|
|
|
98 / 36 / 18
Регистрация: 05.11.2018
Сообщений: 231
|
|||
| 12.11.2018, 15:53 [ТС] | |||
|
Можете хотя бы второй пункт алгоритма написать в паскале для 32-х значных чисел?
Добавлено через 3 минуты Способ 2 немного другой,для каждой цифры числа проверять(начиная с первой), 1.1) если цифра меньше 4,то в максимальном счастливом разрядов на 1 меньше,чем в исходном 1.2) если цифра равна 4,ничего не делаем,проверяем следующие числа 1.3) если цифра больше 4 но меньше 7,то присваиваем ей значение 4 1.4) если цифра больше 7 то присваиваем ей значение 7 1.5) если цифра равна 7 то проверяем следующие цифры. Добавлено через 25 секунд
0
|
|||
|
Модератор
|
|||||||
| 12.11.2018, 16:25 | |||||||
Про способ 2: как отправная точка пойдет, но в итоге будет несколько иначе. Добавлено через 7 минут
0
|
|||||||
| 12.11.2018, 16:25 | |
|
Помогаю со студенческими работами здесь
20
Найти сумму и количество целых чисел, больших 10, меньших 30 и кратных 5 Найти количество положительных и отрицательных чисел среди чисел заданного вида
Посчитать количество отрицательных элементов массива, больших заданного значения Найти количество четных чисел, сумма цифр в которых не превышает заданного числа P Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|