2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Обратная задачка
Сообщение26.07.2009, 10:03 
Доброго времени суток.

Может кто подскажет как оптимальнее поступить.

Имеется ряд цифр N. Допустим N = 20.;
Первое - нужно получить все возможные комбинации чисел размерностью от 1 до 10 цифр из этой последовательности.
Второе нужно провести все возможные комбинации операций + - * / и получить их результаты для анализа.

Примеры:

Допустим на входе

1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2

1234 56 7 8 912 34567 8 9 12
12 3 4 5678 91 234567 8912
и т.д.

Второе
1234+56-7*8+912/34567+8-9*12
1234*56+7-8+912/34567+8-9/12

Насколько реально провести банальный перебор комбинаций?
Возможно есть более оптимальное решение?
Возможно для подобных целей есть специализированный софт?
Спасибо.

 
 
 
 Re: Обратная задачка
Сообщение26.07.2009, 10:22 
Аватара пользователя
У вас получится $2^n$ различных разбиений и $n2^{n+1}$ различных арифметических выражений.

 
 
 
 Re: Обратная задачка
Сообщение26.07.2009, 11:36 
Аватара пользователя
Месье оптимист. Уже для одного разбиения (самого разбитого, где все цифры порознь) арифметических выражений будет что-то порядка $4^{n-1}$, и это конец.

 
 
 
 Re: Обратная задачка
Сообщение26.07.2009, 12:10 
Пробовал писать прямой перебор.. но что-то меня уже не радует. Хотя я пока только двухциферные числа обрабатывать начал. :roll:

 
 
 [ Сообщений: 4 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group