Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
MihaniX
134 / 44 / 1
Регистрация: 06.08.2013
Сообщений: 292
Записей в блоге: 4
#1

Составить арифметическое выражение - C++

19.12.2013, 13:05. Просмотров 439. Ответов 2
Метки нет (Все метки)

Учительница математики попросила школьников составить арифметическое выражение так, чтобы его значение было равно данному числу N, и записать его в тетради. В выражении могут быть использованы натуральные числа, не превосходящие K, операции сложения и умножения, а также скобки. Петя очень не любит писать, и хочет придумать выражение, содержащее как можно меньше символов. Напишите программу, которая поможет ему в этом.

Формат входных данных

В первой строке входных данных содержатся два натуральных числа: N (1 <= N <= 10000) - значение выражения и K (1 <= K <= 10000) - наибольшее число, которое разрешается использовать в выражении.

Формат выходных данных

В единственной строке выведите выражение с данным значением, записывающееся наименьшим возможным количеством символов. Если решений несколько, выведите любое из них.

Примечание

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

Ограничение по времени: 1 секунда
Ограничение по памяти: 64 MB
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2013, 13:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Составить арифметическое выражение (C++):

Составить арифметическое выражение - C++
Здравствуйте. Помогите пожалуйста с составлением арифметического выражения, не до конца понял куда там скобки ставить и float Два...

Арифметическое выражение - C++
В записи арифметического выражения используются круглые, квадратные и фигурные скобки. Проверить, верно ли расставлены скобки, соответствие...

Арифметическое выражение - C++
составить структурную схему алгоритма и проект программы вычисления функции, один параметр ввести с клавиатуры, а другой задать как...

Вычислить арифметическое выражение - C++
пожалуйста помогите : Дано натуральное число n. Вычислить

вычислить арифметическое выражение - C++
вычислить арифметическое выражение y=A*B+tg(A) заранее большое спасибо!

[C++] Вычислить арифметическое выражение - C++
Вычислить арифметическое выражение, заданное в формате строки. Строка может содержать целые числа, а также операции сложения и...

2
el_gato_de_Ch
35 / 35 / 1
Регистрация: 28.04.2013
Сообщений: 110
19.12.2013, 15:19 #2
тут ДП походу, только какая-то больно хитровыделанная ...

я бы сделал так:

раскидал N на простые множители и сгруппировал их таким образом, что произведение было минимальной длины.
если из полученных множителей есть такие что > K, то поменять их на сумму в скобках

получается жадность в купе с дп...
1
MihaniX
134 / 44 / 1
Регистрация: 06.08.2013
Сообщений: 292
Записей в блоге: 4
22.12.2013, 21:43  [ТС] #3
Хм, интересно. Попробую.

Добавлено через 6 часов 42 минуты
ы...

Добавлено через 1 час 11 минут
Можете кто ни будь создать эту тему в разделе для экспертов С++ ? У меня ранг не позволяет, а в разделе новичков шанс того что помогут не такой большой...

Добавлено через 1 час 3 минуты
Люди из раздела Python подсказали про динамическое программирование... Типа перебор... Не могу представить себе как эту задачу решать с помощью динамического программирования. Столько всего учесть придется... Да и в лимит по времени не факт что уложусь...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2013, 21:43
Привет! Вот еще темы с ответами:

Вычислить арифметическое выражение - C++
Вычислить:

Записать арифметическое выражение - C++
Собсна само выражение и мой жалкий и неработающий код, если можно то объясните что не так. #include &lt;iostream&gt; using...

Вычислить арифметическое выражение - C++
Помогите пожалуйста :boredom: Нужно разработать консольное приложение для вычисления арифметического выражения. Использовать функции...

С++ Вывести арифметическое выражение - C++
Ввести строку произвольной длины, которую трактовать как арифметическое выражение, идентификаторы переменных, константы, знаки...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.