Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.88/26: Рейтинг темы: голосов - 26, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 17.09.2014
Сообщений: 9

Получить заданное число m сложением/вычитанием цифр

22.09.2014, 17:31. Показов 5440. Ответов 81
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Очень-очень нужна помощь!
дано n (n>=2) количество цифр от 1 до 9 и любое число m. Написать программу расстановки между каждой парой чисел, записанных именно в таком порядке, знаков "+" и "-" так, чтобы значение полученного выражения равнялось m.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.09.2014, 17:31
Ответы с готовыми решениями:

Дано натуральное число. Определить сумму m его последних цифр. Если заданное число – менее чем m-значное, то
Дано натуральное число. Определить сумму m его последних цифр. Если заданное число – менее чем m-значное, то "недостающие" цифры...

В матрице состоящей из цифр найти цепочку составляющую заданное число
Дана квадратная матрица F, состоящая из цифр. Найти в ней цепочку цифр, составляющую заданное число D, 9<D<100000. Цепочку составляют...

Вывести на экран сумму кодов (по ASCII) цифр входящих в заданное число
help

81
221 / 166 / 47
Регистрация: 17.07.2012
Сообщений: 587
23.09.2014, 18:15
Студворк — интернет-сервис помощи студентам
_Ivana, да пока работает. ща еще тестов погенерю.

Добавлено через 1 минуту
_Ivana, вначале мейна пишешь freopen("output.txt", "w", stdout);
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
23.09.2014, 18:19
Цитата Сообщение от _Ivana Посмотреть сообщение
Помоги мне убрать деление на 0 и чтобы консоль не закрывалась и можно было смотреть все тесты.
....

Добавлено через 3 минуты
О блин! Консоль держать не научился, а перенаправлять выходной поток в файл зато научился Спасибо, буду теперь файл смотреть Но ты думаю сам разберешься что поправить, чтобы писала только нужное тебе в вывод.
0
221 / 166 / 47
Регистрация: 17.07.2012
Сообщений: 587
23.09.2014, 18:20
_Ivana, да. я короче как тест найду, напишу сюда. я могу потестить на тестах, где числа массива до 1000?
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
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
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
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
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
23.09.2014, 23:24
Если кто-то говорит что что-либо невозможно, то это еще не повод не попробовать. И даже если этот кто-то не ошибается, то запросто может случиться так, что имелось в виду "невозможно в общем случае", а применительно к ограниченному диапазону от 1 до 9 очень может быть что возможно. Но ведь мое решение действительно не зависит от входных данных (длины массива), не так ли? И неужели мой алгоритм с его неприличной скоростью не заслуживает внимания? Честно говоря, я сам не могу сказать, что вижу алгоритм допиливания стопроцентно ясно и гарантирую, что он не пропустит ни одного решения, это для моего низкого уровня не самая простая задача. Но и увидеть, что мой алгоритм допиливания гарантированно пропустит какие-то удачные варианты я тоже не могу. И наверное я переключу свои силы на что-нибудь другое Но посоревновались имхо все равно интересно

Добавлено через 7 минут
ЗЫ и тем не менее я очень-очень подозреваю, что можно придумать хороший алгоритм допиливания. По крайней мере, на всех обнаруженных мной по сей момент вариантах исходных данных, приводящих к ошибкам исходного алгоритма, мой текущий алгоритм допиливания приводит все в порядок и выдает правильный ответ.
0
221 / 166 / 47
Регистрация: 17.07.2012
Сообщений: 587
23.09.2014, 23:35
_Ivana, эти кто-то - это ученые либо вики уже не помню или статься какая-нить. ну короче не пацан с улицы сказал, а авторитетный источник.
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
23.09.2014, 23:55
SlavaSSU, ссылку в студию. И посмотрим на авторитет этого источника
0
221 / 166 / 47
Регистрация: 17.07.2012
Сообщений: 587
24.09.2014, 00:24
_Ivana, раз, два, три.
1
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
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
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
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
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
24.09.2014, 03:23
Вот и срываются покровы и маски А у меня (как вы наверное догадались) - жадный с оптимальным итеративным разбиением чисел от бОльших (9) к меньшим (1), оптимальное разбиение на каждой стадии, но оно не гарантирует глобального оптимального разбиения.
0
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
24.09.2014, 06:53
Цитата Сообщение от _Ivana Посмотреть сообщение
чтобы консоль не закрывалась
Вот.
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
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
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
Цитата Сообщение от _Ivana Посмотреть сообщение
Правда не знаю, читают ли из файла
там при редактировании исходника или после форка есть кнопка stdin
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.09.2014, 20:59

Получить число, состоящее из суммы цифр, если оно четное - найти сумму двух первых цифр, иначе - разность
Даны цифры двух целых чисел: трехзначного а3а2а1 и двусмысленного b2b1 где а1b1- число единиц, а2b2 число десятков, а 3 - число сотен....

Разрезать круглую пиццу на заданное число кусков, делая заданное число прямолинейных разрезов ножом
Помогите, пожалуйста решить задачу. Дана пицца, имеющая форму круга. Её нужно разрезать на заданное число кусков, делая заданное число...

Разделить на два заданное четное натуральное число с количеством цифр меньше 100
Надо разделить на два заданное четное натуральное число с количеством цифр меньше 100. Нужно использовать не арифметические, а символьные...

После каждого элемента массива состоящего из одинаковых цифр вставить заданное число
Дан массив положительных чисел а1,а2,а3…аN . Вставить в него после каждого числа, состоящего из одинаковых циф #include...

Проверить, делится ли без остатка заданное натуральное число на каждую из своих цифр
Мне нужно написать прогу, но нужно выполнить её без использования строк и массивов задание такое: Проверить, делится ли заданное...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Новые блоги и статьи
сукцессия 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), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru