Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.223.196.171] |
|
Сообщ.
#1
,
|
|
|
Написать программу нахождения первого члена последовательности {Zn}, который не принадлежит отрезку [ а; b ], где a, b - заданные числа
Zn=(-1)в степени n *(1+1/2+...+1/n), n=1,2,…,m. решить с помощью реккурентных формул |
Сообщ.
#3
,
|
|
|
Сообщ.
#4
,
|
|
|
Цитата Math, 16.08.04, 23:14 Нужна программа или алгоритм ? Обойдётся без программы. Алгоритма настоящему студенту должно быть вполне достаточно. |
Сообщ.
#5
,
|
|
|
Romtek, не надо так жестоко Людям надо помогать
Ksander, ну, давай разбираться. Что такое рекурентаная формула? Это когда следующий член последовательности как-то зависит от предыдущих (возможно, от одного). Естественно, должно быть определено значение для первого (или нулевого) члена. В данной задаче: Z(1) = (-1)^1 * 1 Z(2) = (-1)^2 * (1 + 1/2) ..... Z(N) = (-1)^N * (1 + 1/2 + ... + 1/(N - 1) + 1/N) = (-1) * [(-1)^(N-1) * (1 + 1/2 + ... + 1/(N - 1)] + (-1)^N * (1/N) = -Z(N - 1) + (-1)^N * (1/N) Получается, что у нас Z(N) зависит от Z(N - 1)! Z(N) = -Z(N - 1) + (-1)^N * (1/N) Тогда код выглядит так: function z(n : integer) : real; var power : integer; begin if (n = 1) then z:=-1 else begin if (n mod 2 = 0) then power:=1 else power:=-1; {коэффциент (-1)^n} z:=-z(n - 1) + power / n; end; end; |