|
0 / 0 / 0
Регистрация: 17.09.2014
Сообщений: 9
|
|
Получить заданное число m сложением/вычитанием цифр22.09.2014, 17:31. Показов 5440. Ответов 81
Метки нет (Все метки)
Очень-очень нужна помощь!
дано n (n>=2) количество цифр от 1 до 9 и любое число m. Написать программу расстановки между каждой парой чисел, записанных именно в таком порядке, знаков "+" и "-" так, чтобы значение полученного выражения равнялось m.
0
|
|
| 22.09.2014, 17:31 | |
|
Ответы с готовыми решениями:
81
Дано натуральное число. Определить сумму m его последних цифр. Если заданное число – менее чем m-значное, то
|
|
221 / 166 / 47
Регистрация: 17.07.2012
Сообщений: 587
|
|
| 23.09.2014, 18:15 | |
|
_Ivana, да пока работает. ща еще тестов погенерю.
Добавлено через 1 минуту _Ivana, вначале мейна пишешь freopen("output.txt", "w", stdout);
0
|
|
| 23.09.2014, 18:19 | ||
|
Добавлено через 3 минуты О блин! Консоль держать не научился, а перенаправлять выходной поток в файл зато научился Спасибо, буду теперь файл смотреть Но ты думаю сам разберешься что поправить, чтобы писала только нужное тебе в вывод.
0
|
||
|
221 / 166 / 47
Регистрация: 17.07.2012
Сообщений: 587
|
|
| 23.09.2014, 18:20 | |
|
_Ivana, да. я короче как тест найду, напишу сюда. я могу потестить на тестах, где числа массива до 1000?
0
|
|
| 23.09.2014, 18:26 | |
|
SlavaSSU, проверил твои тесты, все работают и выдают YES. Можешь еще хоть 10^9 чисел массив задать - будет так же быстро. На некоторых типах входных данных алгоритм может не находить вариант, надо дописать вторую часть.
Если надо числа массива до 1000 - увеличь диапазон трех моих массивов до 1000 и начинай счетчик цикла с 999. Добавлено через 2 минуты Структура моего вывода понятна? Как там знаки расставлены и как это проверить видно?
0
|
|
|
221 / 166 / 47
Регистрация: 17.07.2012
Сообщений: 587
|
|
| 23.09.2014, 19:08 | |
|
_Ivana, а у тебя с отрицательным m работает?
Добавлено через 11 минут _Ivana, тест 5 3 1 2 3 4 5 твой ответ NO правильный ответ YES: 1 - 2 + 3 - 4 + 5 лечге было руками найти, чем генерить)))
0
|
|
| 23.09.2014, 21:50 | |
|
SlavaSSU, да, я еще вчера находил такие случаи. Например,
5 5 8 6 2 8 7 У меня выдаст NO, а вариант есть. Поэтому и говорю, что нужна дополнительная последующая шлифовка результата напильником, и ее алгоритм тоже понятен. Можно реализовать, в принципе.
0
|
|
|
221 / 166 / 47
Регистрация: 17.07.2012
Сообщений: 587
|
|
| 23.09.2014, 23:07 | |
|
_Ivana, я че хочу сказать-то, я слышал где-то что такую задачу невозможно быстро решить, если числа небольшие можно моим алгом, если числа большие то точное решение найдет только перебор, а ты сказал что твое решение вообще не зависит от входных данных, вот и стало интересно что ты там напишешь). я к тому что нет смысла допиливать, все равно неверно будет.
0
|
|
| 23.09.2014, 23:24 | |
|
Если кто-то говорит что что-либо невозможно, то это еще не повод не попробовать. И даже если этот кто-то не ошибается, то запросто может случиться так, что имелось в виду "невозможно в общем случае", а применительно к ограниченному диапазону от 1 до 9 очень может быть что возможно. Но ведь мое решение действительно не зависит от входных данных (длины массива), не так ли? И неужели мой алгоритм с его неприличной скоростью не заслуживает внимания? Честно говоря, я сам не могу сказать, что вижу алгоритм допиливания стопроцентно ясно и гарантирую, что он не пропустит ни одного решения, это для моего низкого уровня не самая простая задача. Но и увидеть, что мой алгоритм допиливания гарантированно пропустит какие-то удачные варианты я тоже не могу. И наверное я переключу свои силы на что-нибудь другое
Но посоревновались имхо все равно интересно ![]() Добавлено через 7 минут ЗЫ и тем не менее я очень-очень подозреваю, что можно придумать хороший алгоритм допиливания. По крайней мере, на всех обнаруженных мной по сей момент вариантах исходных данных, приводящих к ошибкам исходного алгоритма, мой текущий алгоритм допиливания приводит все в порядок и выдает правильный ответ.
0
|
|
|
221 / 166 / 47
Регистрация: 17.07.2012
Сообщений: 587
|
|
| 23.09.2014, 23:35 | |
|
_Ivana, эти кто-то - это ученые либо вики уже не помню или статься какая-нить. ну короче не пацан с улицы сказал, а авторитетный источник.
0
|
|
| 24.09.2014, 02:59 | |
|
Спасибо, почитаю.
Добавлено через 2 часа 32 минуты После читания некоторого количества интернета по теме выяснилось, что я реализовал максимально оптимизированный жадный алгоритм сложности О(1) (не зависящий от объема входных данных), который более чем имеет право на жизнь в группе приближенных алгоритмов NP-полных задач, не всегда находящих решение. И еще выяснилось, что существует тайный алгоритм Писинжера, решающий данную задачу точно за линейное время О(N). На русском публикаций по нему не нашел, на английском тоже не в свободном доступе - http://www.citeulike.org/user/... le/7333571 А вы говорите "британские ученые доказали", что это NP-полная задача и ваще легко не решается и т.п.... А оказывается есть куча различных алгоритмов разной степени оптимальности и применимости. И я вполне мог бы переизобрести велосипед Писинжера, несмотря на ваши последовательные убеждения, что это сделать невозможно в принципе
0
|
|
|
221 / 166 / 47
Регистрация: 17.07.2012
Сообщений: 587
|
|
| 24.09.2014, 03:11 | |
|
_Ivana, xD. такой алгоритм только у меня, и у Писинжера. а если серьезно, то я думая навряд ли. Если он какой-то тайный и поддался только ему. Ну он крут че, за линию умеет такую задачу решать.
0
|
|
| 24.09.2014, 03:17 | |
|
Не, ну понятно, что если он его придумал только в 2000 году, а до этого тоже не дураки над задачей думали, то это может о чем-то говорить
Хотя, с другой стороны, чем мы хуже? Может и придумали бы Есть шанс попросить на научном форуме эту его статью, может у кого есть.А теперь про ваш алгоритм - у вас ДП? Точный? О(N^2)? Или нет? Я просто не разбирал ваш алгоритм, своим был занят
0
|
|
|
221 / 166 / 47
Регистрация: 17.07.2012
Сообщений: 587
|
|
| 24.09.2014, 03:19 | |
|
_Ivana, алгоритм точный. да ДП. работает за O(n * SumOfAllNumbers);
0
|
|
| 24.09.2014, 03:23 | |
|
Вот и срываются покровы и маски
А у меня (как вы наверное догадались) - жадный с оптимальным итеративным разбиением чисел от бОльших (9) к меньшим (1), оптимальное разбиение на каждой стадии, но оно не гарантирует глобального оптимального разбиения.
0
|
|
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
|
| 24.09.2014, 08:51 | |
|
_Ivana, SlavaSSU, вы б на ideone тестили. и результаты бы видно было и время объективно
типа http://ideone.com/hwNYas http://ideone.com/BfW4dk
0
|
|
| 24.09.2014, 20:53 | |
|
gru74ik, не поможет. Когда у меня по умолчанию ввод/вывод был ассоциирован с консолью, это прокатывало. А когда я переключил ввод на файл, то system("pause") не отрабатывало, приходилось на ноль делить - см. мой код, я же его привел.
pycture, спасибо, оказывается онлайн-компиляторы и время работы меряют. Правда не знаю, читают ли из файла, и если да, то можно ли его загрузить. Насколько я понял, вы свою программу на F# написали, хотя по ссылке не видно вообще какой выбран язык. И если мерить скорость, то я бы конечно переписал свою рекурсию на 2 переменных функции вместо 6, чтобы зря контекст лишний не хранить. Но тогда нужны были бы пара глобальных переменных, зато выполнение было бы еще быстрее. ЗЫ а, вру - в правом углу написан выбранный язык.
0
|
|
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
|
| 24.09.2014, 20:59 | |
|
0
|
|
| 24.09.2014, 20:59 | |
|
Разделить на два заданное четное натуральное число с количеством цифр меньше 100 После каждого элемента массива состоящего из одинаковых цифр вставить заданное число
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
|
|
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы
## О чём эта статья
В процессе построения ОДУ-модели (система дифференциальных. . .
|
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет)
Содержание проекта
Симуляция вековой (50 лет) экологической сукцессии в почве леса
Основные участники: АМ-гриб, ЭКМ-гриб,. . .
|
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов
Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
|
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация
В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
|