Автор | Сообщение |
|
Отправлено: 31.01.15 11:06. Заголовок: 11 из диагностич. за 26.01.15
procedure F(n: integer); begin writeln(n); if n > 0 then begin F(n - 1); F(n - 3) end end Чему равна сумма всех чисел, напечатанных на экране при вызове F(5)? Решаю так: G(0) = 5 G(1) = 5 + G(-2) + G(0) = 5 + 5 + 5 = 15 G(2) = 5 + G(-1) + G(1) = 5 + 5 + 15 = 25 G(3) = 5 + G(2) + G(0) = 5 + 25 + 5 = 35 G(4) = 5 + G(3) + G(1) = 5 + 35 + 15 = 55 G(5) = 5 + G(4) + G(2) = 5 + 55 + 25 = 85 Ответ: 85 НО ЭТО НЕ ПРАВИЛЬНО! В критериях не ставится 1. В чем может быть ошибка?
|
|
|
Ответов - 5
[только новые]
|
|
|
| Администратор
|
Сообщение: 736
|
|
Отправлено: 31.01.15 11:36. Заголовок: recdoc пишет: В чем ..
recdoc пишет: Можно набрать программу и пройти ее в пошаговом режиме. В первой строчке решения уже ошибка.
|
|
|
|
Отправлено: 31.01.15 16:39. Заголовок: А, всё, я поняла в ч..
А, всё, я поняла в чем ошибалась. Спасибо.
|
|
|
|
Отправлено: 02.02.15 11:09. Заголовок: А, всё, я поняла в ..
цитата: | А, всё, я поняла в чем ошибалась. Спасибо. |
| В чем Ваша ошибка? Поделитесь, пожалуйста, я не понимаю(((
|
|
|
|
Отправлено: 04.02.15 16:56. Заголовок: procedure F(n: integ..
procedure F(n: integer); begin writeln(n); if n > 0 then begin F(n - 1); F(n - 3) end end Чему равна сумма всех чисел, напечатанных на экране при вызове F(5)? Я понимаю, что реккурентная формула выглядит так: F(n) = n + F(n-1) + F(n-3), тогда: F(0) = 0, F(-1) = -1, F(-2) = -2, F(1) = 1 + F(0) + F(-2) = 1+0+(-2) =-1 F(2) = 2 + F(1) + F(-1) = 2+(-1)+(-1) = 0 F(3) = 3 + F(2) + F(0) = 3+ 0 + 0 = 3 F(4) = 4 + F(3) + F(1) = 4+3+(-1) = 6 F(5) = 5 + F(4) + F(2) = 5+6+0=11
|
|
|
|
Отправлено: 05.02.15 10:38. Заголовок: nikson пишет: Спас..
nikson пишет: [quote]` Спасибо.
|
|
|
|