Есть у кого контакты ИТМО, Кафедра программной инженерии |
Здравствуйте, гость ( Вход | Регистрация )
Есть у кого контакты ИТМО, Кафедра программной инженерии |
10.2.2018, 11:27
Сообщение
#1
|
|
Живу дома |
У дочки сложности в коммуникации с преподавателем, понятно, что сама запустила ... но при сдаче программы, не может ответить на один и тот-же вопрос, причем получает ответ "нет" на раз! с предложением подумать и прийти через неделю (а вариантов ответа много, не понятно, что он хочет услышать). Сама боится уже подходить к нему. У ребенка депрессия, два дня не ест.
Сам уже с ней сидел, все понимает... Всегда училась самостоятельно, а тут тупик (хвост один!). От нашей помощи дочка отказывается... |
|
|
12.2.2018, 11:49
Сообщение
#2
|
|
Живет здесь |
Эти два вызова рекурсивных -- для подсчета разложений включающих max и не включающих max (поэтому кстати max - неудачное имя). Это непересекающиеся множества, покрывающие требуемое. Пока этого не описано в комментах - будет непонятно...
|
|
|
12.2.2018, 13:46
Сообщение
#3
|
|
Живу дома |
Эти два вызова рекурсивных -- для подсчета разложений включающих max и не включающих max (поэтому кстати max - неудачное имя). Это непересекающиеся множества, покрывающие требуемое. Пока этого не описано в комментах - будет непонятно... 6=6 6=5+1 ... 6=3+(3) ... 6=(2)+(2+2) // Здесь 2=max, а (2+2)=(n-max) но max включает в качестве слагаемого. Надо разложить 4 -> r(4,2) для подсчета следующих двух: 6=(2)+(2+1+1) 6=(2)+(1+1+1+1) ... 6=1+1+...+1 Дима, где у нас с тобой не стыковка в интерпритации теории, меня смущает подчеркнутая фраза!, которая звучит у тебя и в интернете - Цитата для подсчета разложений включающих max и не включающих max ..? Если пройтись в дебагере, то дойдя до return razlozheniye(n, max - 1) + razlozheniye(n - max, max); мы будем вызывать рекурсивно сперва razlozheniye(n, max - 1) пока не дойдем до 1-цы вернем ее +1, а затем добавим уже razlozheniye(n - max, max) --- (для разложения 6, как в примере - сперва это будет r(4,2)) для мах=2, что в сумме вернет 4; затем r(6,2) + r(3,3) = 2+1 вернет 4+3; затем r(6,1) + r(2,4) = 1+2 вернет 7+3; В итоге return razlozheniye(n, n - 1) + 1 Вернет 10+1 т.е. 11 разложений. |
|
|
Текстовая версия | Сейчас: 24.5.2024, 13:19 |