|
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
|
||||||
Найти количество N-значных натуральных чисел, сумма цифр каждого из которых равняется M (оптимизирвать код)01.05.2017, 16:04. Показов 6530. Ответов 12
Метки нет (Все метки)
Здравствуйте, уважаемые знатоки. Мне снова нужна помощь по оптимизации решения. Со сложностью алгоритмов у меня, к сожалению, большие проблемы. Было бы вообще здорово создать такую рубрику
Вот ссылка на задачу:del и мое решение:
0
|
||||||
| 01.05.2017, 16:04 | |
|
Ответы с готовыми решениями:
12
Найти количество N-значных чисел, у которых сумма цифр равна их произведению (оптимизировать код)
Подсчитать количество n-значных натуральных чисел, у которых сумма цифр нечетная, а младшая цифра четная |
|
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,360
|
||
| 01.05.2017, 16:16 | ||
|
Добавлено через 4 минуты Ну вообще если так подумать, то кажется очень простенькая динамика. Писать я ее конечно же не буду. ![]() P.S Просто оптимизировать ваш код не выйдет, тут нужно кардинально менять подход к решению задачи. Вы с динамическим программированием знакомы?
0
|
||
|
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
|
|
| 01.05.2017, 16:36 | |
|
Fixer_84, С числом M все понятно, а с N что делать? Как я понял диапазон в примере от 10 до 100. А при N=3 буде от 100 до 1000 ?
0
|
|
|
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
|
|
| 01.05.2017, 16:50 [ТС] | |
|
Вот условие задачи:
Найти количество N-значных натуральных чисел, сумма цифр у каждого из которых равняется M. N и M заданные натуральные числа. Входные данные: В единственной строке входного файла записаны значения N и M. (1 ≤ N ≤100, 1 ≤ M ≤ 900). Выходные данные: Вывести найденное количество чисел. У меня тут с десяток таких накопилось...Все по времени не проходят. Хотел дорешать. Добавлено через 4 минуты Добавлено через 4 минуты Новичок, тогда посмотрите, пожалуйста, еще одну задачу. Там точно оптимизировать можно. Выложу в следующем сообщении...
0
|
|
|
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
|
|
| 01.05.2017, 16:51 | |
|
Длинная арифметика? Если так то тема не новинка, решал такие задачки. Щас попробую для этой написать код
0
|
|
|
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,360
|
|
| 01.05.2017, 16:53 | |
|
Да какая длинная арифметика? Вы понимаете что перебирать все 100-значные числа это очень долго? Их около 10^100... По времени не пройдет(да такое решение вообще будет годами работать
)... Это не тот сайт на котором будут давать задачи где можно тупо в лоб делать то что говорят в условии.
0
|
|
|
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
|
||
| 01.05.2017, 17:18 | ||
|
Добавлено через 23 минуты Допустим как я искал бы числа у которых сумма цифр 4 от 10 до 1000 Находим первое 13 (увеличиваем десяток на 1, единицы уменьшаем на 1) 22 31 40 (до сотни нет смысла искать. начинаем с 100 ищем первое) 103 112 121 130 (все до следующей сотни 200) 202 211 220 (все до следующей сотни 300) 301 310 (все до следующей 400) 400 (все приехали дальше ничего нет) Опять же необходим алгоритм нахождения первого числа что бы отбросить ненужные вычисления. Наверное как то так.
0
|
||
|
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
|
||
| 01.05.2017, 19:53 | ||
|
Fixer_84, Можно узнать имя задачки чтобы самому посмотреть на неё
0
|
||
|
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
|
|
| 01.05.2017, 20:24 | |
|
no swear, все как пост 4, ничего нового.
0
|
|
| 01.05.2017, 21:27 | |
|
мановар, no swear, да вон в соседней теме я уже этому товарищу помог решить,
через длинную арифметику легче всего решаица Найти уровень палиндромности числа m.
0
|
|
|
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
|
|
| 01.05.2017, 21:48 | |
|
Ferrari F1, да видел, но решение только впритык, в таких задачах думаю дело прежде всего в алгоритме.
0
|
|
|
440 / 432 / 159
Регистрация: 21.05.2016
Сообщений: 1,338
|
||||||
| 02.05.2017, 02:24 | ||||||
|
Надо перестать считать сумму цифр, как только sum>=M
еще я бы ватащил pow(10, N) из цикла:
0
|
||||||
| 02.05.2017, 23:12 | |||||||
Сообщение было отмечено Новичок как решение
Решение
О мой Бог.
Прекрасно. А когда все это поняли давай обсудим настоящее решение. 1. Перебор не зайдет. Потому есть ограничение по времени. Когда пункт 1 становится ясным - можно продолжать двигаться в правильном направлении, которое уже указал Новичок. Это дп. Например, такое
Давайте возьмем максимальное N = 100. А M - это (0+1+2+..+9)*10. Сколько чисел нам подходят? Как минимум, все (не все, но тоже пофиг) перестановки 0(10раз)1(10раз)2(10раз)..9(10раз) Сколько их будет? 100!/(10!)^10. Посчитаем это где-нить и поймем, что снова никуда не влезет. Вывод? Да. Тут будет длинная арифметика. Но не для перебора, а для получения четкого ответа. Ее мне лень писать. Конец.
0
|
|||||||
| 02.05.2017, 23:12 | |
|
Помогаю со студенческими работами здесь
13
Найти количество N-значных чисел, у которых сумма цифр равна их произведению
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|