![]() |
Хотябы алгоритм... но лучше сразу код... прога для вас гуру простенькая... ,а я тупой не шарю...
вот текст задания(сори если коряво - переводил с украинского) Написать програму для опредиления количества 2*N -значных билетов, у которых сума первых N десятичных цифр равняется суме N последних цифр; N – произвольное натуральное число. |
ну хоть кто-нибуть отзовитесь....
|
Вообще говоря, не хорошо просить написать программу других людей. Я даже подумывал вчера закрыть тему... Но сегодня я ехал в метро и всё равно не о чем было думать, так что вот результат моих теоретических изысканий.
Идея проста как помидор: надо найти количество всех комбинаций из N цифр соответствующих каждой из возможных сумм. Суммы будут лежать в пределах от 0 (N нулей) до 9*N (N девяток). Ответом очевидно будет являться[pre]9*N _ \ /_ S[[N]][[i]]^2 i=0[/pre]где S[[N]][[i]] - количество комбинаций из N цифр соответствующих сумме i. Далее, очевидно, что S[[1]][[0]] = S[[1]][[1]] = ... = S[[1]][[9]] = 1. К любой комбинации из k-1 одной цифры можно дописать одну цифру x от 0 до 9. Она, соответственно, увуличит значение суммы этой комбинации на x. Тогда алгоритм вычисления s[[k]] по s[[k-1]]: Код:
// заранее обнуляем S[[k]] Динамическое программирование во всей красе. Если не понятно, прошу прощения. У меня всегда были проблемы с объяснением решений даже простых задач. |
:o да действительно не понятно...
но всёравно спасибо... буду разбиратся... |
А что конкретно непонятно? Откуда взялась формула для результата, как считается s[[k]][[i]] или что-то ещё?
|
Время: 17:05. |
Время: 17:05.
© OSzone.net 2001-