Здравствуйте, гость ( Вход | Регистрация )
| Navi1982 |
9.11.2007, 13:23
Сообщение
#1
|
|
Школьник ![]() Группа: Продвинутые Сообщений: 12 Регистрация: 9.11.2007 Город: Moldova, Chisinau Учебное заведение: 12 классов + степень бакалавра Вы: другое |
a1+a2+...+an=s
0 <= ai <= x x >= 0 n >= 1 0 <= s <= s * n, естественно... Нужно найти z - количество уникальных комбинаций для n терминов сложения, которые в сумме дают s. Любой из терминов может иметь значение от 0 до x - целые числа. Я уже составил программу которая считает z, но методом перебора. А это долго... Очень долго! Хотя программа и дает возможность просмотра всех этих вариантов, но они мне не нужны. Нужно только их количество! В результате простых анализов мне стало известно следующее: 1) z принимает максимум в случае когда s=x*n/2 (округлить до целого), когда же s --> 0 или s --> s*n, то z --> 1. Меньше 1-цы быть не может. 2) обнаружил сходство с "триугольником Паскаля" (пирамида Паскаля), где одну сторону от вершины берем за s (где 0<=s<=x*n/2) а другую за n, а на пересечении получаем z. И такой же результат получаем в симетричном отражении s (когда x*n>=s>=x*n/2). Но есть маленькое НО! Когда s --> x*n/2, то z отклоняется от действительности. Т.е. почти до середины все ОК, а когда s близко к x*n/2 - отклонения. Догадываюсь почему так происходит, но незнаю ка объяснить. Могу сказать, что это связанно с ограничением задаваемым числом x. Вопрос: Вообще выше поставленная задача выполнима или нет? Плииз, помогите решить - очень нужно... |
Navi1982 a1+a2+...+an=s 9.11.2007, 13:23
malk Вам нужна аналитеческая формула для z=f(s,n,x)?
Со... 22.11.2007, 13:36
Navi1982
да. Что-то вроде того...
...
Хмм... Любопытные сс... 25.11.2007, 21:45
malk Похоже у вас не разбиения, как я подумал, а композ... 27.11.2007, 22:29
Navi1982 Прошу прощения... А в записи "C(i,n)" - ... 1.12.2007, 21:04
malk 1.C(i,n)=n!/(i!*(n-i)!)
2.ix произведе... 2.12.2007, 1:40
Navi1982 А вот такую вещь "s/(x+1)" в какую сторо... 2.12.2007, 11:32
malk В меньшую.
S_1=(-1)*C(1,3)*C(2,13+3-9-1-1)=-3*C(2,... 2.12.2007, 19:36
Navi1982 Оу! Сорри... Вы правы! Я нашел где я ошибс... 2.12.2007, 20:51![]() ![]() |
|
Текстовая версия | Сейчас: 20.4.2026, 3:44 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru