|
0 / 0 / 0
Регистрация: 28.11.2021
Сообщений: 5
|
|
По заданному n посчитать количество различных красивых последовательностей, которые из него можно получить (любой язык)28.11.2021, 12:30. Показов 1746. Ответов 3
Задача D: Системы счисления
Сегодня Егор в школе проходил системы счисления, ему дали следующее определение представление числа в системе счисления: Представлением целого положительного числа n в k-ичной системе счисления (k ≥ 2) называется последовательность целых неотрицательных чисел a1, ..., as такая, что ai ≤ k - 1 для всех i = 1...s и a1 ≠ 0, а также as + as - 1 · k + as - 2 · k2 + ... + a1 · ks - 1 = n. Например, представлением числа 6 в двоичной системе счисления является последовательность 1, 1, 0, т.к. 0 + 1 · 2 + 1 · 4 = 6, а представлением числа 120 в одиннадцатиричной системе счисления является последовательность 10, 10, т.к. 10 + 10 · 11 = 120. Можно показать, что любое целое положительное число n представимо единственным образом в k-ичной системе счисления для любого k ≥ 2. Егор считает красивыми последовательности, которые заканчиваются ровно на два нуля. Сегодня в учебнике он наткнулся на целое положительное число n, и он захотел получить из него как можно больше красивых последовательностей, переводя n в различные системы счисления. Ему стало интересно, сколько различных красивых последовательностей он сможет получить? Однако, так как число n очень большое, без программирования ему не обойтись. К сожалению, программировать он не умеет, поэтому обратился за помощью к вам. Напишите программу, которая по заданному n считает количество различных красивых последовательностей, которые из него можно получить. Формат входных данных В единственной строке входных данных находится единственное целое число n (1 ≤ n ≤ 1018) – число, которое увидел Егор, идя из школы. Обращаем внимание, что входные данные в этой задаче могут не поместиться в 32-битный целочисленный тип данных вашего языка, рекомендуется использовать 64-битный тип данных (long long, int64_t языка С++, int64 языка Free Pascal, long языка Java и т.д.) Формат результата Выведите единственное число – ответ на задачу.
0
|
|
| 28.11.2021, 12:30 | |
|
Ответы с готовыми решениями:
3
По заданному n посчитать количество различных красивых последовательностей, которые из него можно получить (любой язык) Количество различных рациональных чисел которые можно получить роставляя скобки Найти количество различных чисел, которые можно получить из числа ровно за C команд |
|
Windows must die
|
|
| 28.11.2021, 12:41 | |
|
Самый простой способ - перебирать основание, k, от 2 до N-1. Если в конце два нуля, то инкрементируем счетчик.
Другой способ - посложней. Т.к. в конце должно быть два нуля, то получаем, что число должно нацело делиться на k². Следовательно, перебирать нам придется лишь такие k, которые удовлетворяют этому требованию. Если разбить число на простые множители, можно быстренько составить все возможные варианты k.
1
|
|
|
0 / 0 / 0
Регистрация: 28.11.2021
Сообщений: 5
|
|
| 28.11.2021, 12:47 [ТС] | |
|
Если не сложно можно код (любой язык)
0
|
|
|
Windows must die
|
|
| 28.11.2021, 15:31 | |
Сообщение было отмечено 6532 как решение
Решение
Да легко:
1. Получаем упорядоченный массив простых множителей числа N. google в помощь, алгоритмов навалом. 2. Проходимся по этому массиву и ищем те множители, которых больше одного. Из них и формируем k. Проверяем, выводим на печать при необходимости. Скажем, нашли мы, что множитель 7 встречается 5 раз. ОК, это значит, что k нельзя брать равным семи (т.к. у нас будет больше двух нулей), зато можно взять его равным 7²=49. В сорокадевятиричной системе наше число должно дать два нуля в хвосте. Смотрим дальше. Скажем, 11 встречается два раза. ОК - то, что надо! Значит, четко в одинадцатиричной системе будет два нуля. Допустим, что 13 встречается три раза → не подходит, т.к. в 13-ричной системе мы получим три нуля, а в 169-чной - только один. Естественно, из парных множителей тоже можно составлять новые основания. Из примера выше это будет 49*11=539. Ну и так далее. Можно упростить алгоритм: не подыскивать подходящие основания (зато в этом случае не нужно будет проверять!), а тупо перебирать все комбинации из множителей в качестве основания системы счисления. Правда, это будет ооочень долго.
1
|
|
| 28.11.2021, 15:31 | |
|
Помогаю со студенческими работами здесь
4
Сколько различных красивых цепочек можно создать?
найти количество строго возрастающих последовательностей максимальной длины, которые мы можем получить вычеркиванием каких-то элементов из в Найдите все числа от 1 до n, которые можно получить суммой различных степеней тройки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|