|
0 / 0 / 0
Регистрация: 07.10.2022
Сообщений: 23
|
||||||
Сложить числа записанные в указанном формате09.07.2023, 16:22. Показов 1029. Ответов 8
А здесь точно длинная арифметика?
Один из используемых форматов заключается в следующем: число задаётся группами подряд идущих в десятичной записи цифр. То есть число 111 задаётся как 3 1, чисор 2020 — как 1 2 1 0 1 2 1 0, число 222 233 как 4 2 2 3. Отметим, что длина группы должна быть максимальной, то есть запись 2 2 2 2 2 3 в последнем случае является некорректной. Для проверки ответов игроков Вам требуется написать программу, складывающую числа в вышеописанном формате Формат входных данных: Первая строка входных данных содержит целое число N — количество групп одинаковых цифр в записи первого слагаемого (1 ≤ N ≤ 100). i-я из последующих N строк содержит по два целых числа ni и di (1 ≤ ni ≤ 10^18 , 0 ≤ di ≤ 9). Гарантируется, что соседние di всегда различны, di != 0 и сумма всех ni не превосходит 10^18 В таком же формате идет второе слагаемое. Вывод нужен в формате таком же как и ввод Мой код у которого лимит по памяти выходит. При этом тут все минимально возможное с затратами памяти. Тест на котором я ее проверял Кликните здесь для просмотра всего текста
3
2 2 3 3 9 9 1 1 1 ответ 4 2 2 2 3 1 4 9 0 Если у вас будут какие то свои идеи как его можно оптимизировать пишите.
0
|
||||||
| 09.07.2023, 16:22 | |
|
Ответы с готовыми решениями:
8
Сложить два числа, записанные в римской системе счисления |
|
Заблокирован
|
||||||
| 09.07.2023, 17:24 | ||||||
0
|
||||||
|
|
||||||
| 09.07.2023, 18:57 | ||||||
|
набросал прогу которая умеет складывать две группы одинаковой длины. Осталось разбить числа на такие группы и сложить группы попарно
0
|
||||||
|
0 / 0 / 0
Регистрация: 07.10.2022
Сообщений: 23
|
||
| 09.07.2023, 19:08 [ТС] | ||
|
0
|
||
|
Вездепух
12930 / 6798 / 1819
Регистрация: 18.10.2014
Сообщений: 17,205
|
|||||||||||||||||
| 09.07.2023, 23:48 | |||||||||||||||||
|
Я вижу у вас в коде, что "запакованные" числа читаются в память, то есть целиком "распаковываются" в исходное представление в памяти. Зачем вы это делаете? Ваша задача - выполнить сложение двух чисел. Простейшее сложение чисел - поразрядная операция, в каждый момент времени работающая только с парой соответствующих разрядов складываемых чисел. То есть на каждой итерации идет работа с единственным разрядом, который ни до этого момента, ни после этого момента никому не нужен. Операции сложения никогда не нужно видеть сразу все число. Зачем вы держите в памяти то, что никому не нужно? Поэтому никакой "распаковки" в вашей программе быть не должно. А у вас выделаются потенциально огромные никому не нужные блоки памяти. О каком "минимально возможные" вы ведете речь? Распишите подробно ход вашей мысли, приведшей вас к выводу, что это "минимально возможные" затраты памяти. Добавлено через 20 минут --- Возьмем обычную тривиальную реализацию алгоритма длинного сложения: на вход приходят две последовательности цифр от младшим к старшим, на выход отправляется одна последовательность цифр
http://coliru.stacked-crooked.... a6e702cf86 Теперь напишем обертки-адаптеры для итераторов. Одна - входной итератор - будет на лету распаковывать последовательности, описанные в условии задачи и предоставлять очередную цифру. Другая - выходной итератор - будет на лету запаковывать последовательность цифр в формат, описанный в условии задачи
И никакого расхода памяти.
2
|
|||||||||||||||||
|
|
||||||
| 10.07.2023, 02:11 | ||||||
|
вроде работает
0
|
||||||
|
Вездепух
12930 / 6798 / 1819
Регистрация: 18.10.2014
Сообщений: 17,205
|
|||||||
| 10.07.2023, 06:02 | |||||||
|
Разумеется, теперь, когда у нас есть такие адаптеры, числа в интересующем нас представлении становятся совместимыми и с другими однопроходными алгоритмами. Например, вычисление суммы цифр числа (хоть это и не самый оптимальный способ, конечно)
Применимость в других алгоритмах несколько ограничивает то, что для целей сложения нам нужен проход от младших к старшим. А для многих других приложений проход от старших к младшим является более предпочтительным. И такую возможность, при желании, тоже можно заложить в адаптер...
0
|
|||||||
|
Заблокирован
|
|
| 10.07.2023, 06:49 | |
|
impelix, если еще актуально, далиб ссылку на задачу, чтоб с каждый чих тут на проверку не выкладывать
0
|
|
|
|
|
| 10.07.2023, 11:51 | |
|
Исправления связанные с переносом единицы
0
|
|
| 10.07.2023, 11:51 | |
|
Помогаю со студенческими работами здесь
9
Сложить два числа, записанные в римской системе счисления без перевода в десятичную систему счисления Сложить числа в формате с плавающей запятой Как сложить числа в формате с плавающей запятой
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|