2014 dxdy logo

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

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




 
 задача на java
Сообщение04.12.2011, 17:33 
помогите пожалуйста решить вот такую задачу.
мне дается число n и мне надо составить всевозможные числа, сумма цифр которого равна n и все эти цифры поубыванию должны быть.
например
число 6
Ответ
60
51
42
321

 
 
 
 Re: задача на java
Сообщение04.12.2011, 17:41 
Аватара пользователя
По строгому убыванию? Тогда почему нет 510?

 
 
 
 Re: задача на java
Сообщение04.12.2011, 18:40 
числа не должны превышать n*10

-- 04.12.2011, 19:42 --

нет , не поэтому. на ноль может заканчиваться только 1 число

-- 04.12.2011, 19:42 --

нет , не поэтому. на ноль может заканчиваться только 1 число

 
 
 
 Re: задача на java
Сообщение05.12.2011, 14:14 
в принципе можно и такие числа найти
для 6 тогда
60
51
510
42
420
321
3210

 
 
 
 Re: задача на java
Сообщение05.12.2011, 15:52 
Аватара пользователя
Для программирования задачу надо ставить чётко и однозначно, иначе программа может зациклится.
Ноль можно в расчёт не принимать. Он тупо удваивает количество решений.

Итак, для натурального $n$ надо найти все убывающие последовательности натуральных чисел, меньших 10, сумма которых равна $n$.

Максимальная такая последовательность равна 9,8,7,6,5,4,3,2,1,0.
То есть для $n>45$ задача решения не имеет.
А в этой Jave есть рекурсия?
Рассмотрим разные случаи.

$n=7:\ 7, 61, 52, 43, 421$

$n=8:\ 8, 71, 62, 53, 521, 431$

$n=9:\ 9, 81, 72, 63, 621, 54, 531, 432$

$n=10:\ 91, 82, 73, 721, 64, 631, 541, 531$

Вот уже появляются какие-то идеи.

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


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