сумму S=1+1/x+1/x2+...+1/xN
сумму S=1+1/x+1/x2+...+1/xN при x, не равном 0.
Как и в предыдущем примере можно записать следующее соотношение:
S(i) = S(i - 1) + a(i), i?1, где
a(i) = 1/xi,
S(0) = 1.
Конечно, можно и эти соотношения использовать для написания программы. При этом у нас возникла новая задача - найти способ вычисления a(i). Для этого можно воспользоваться тем же приемом - попытаться вычислить a(i) через значение a(i - 1). Соотношение между значениями a(i) и a(i - 1) имеет следующий вид:
a(i) = a(i - 1)/x, i?1
a(0) = 1
Поэтому поставленную задачу можно решить следующим образом.
S[0]: = 1;
a[0]: = 1;
for i:=1 to N do {1. 2}
begin
a[i]: = a[i - 1]/x;
S[i]: = S[i - 1] + a[i]
end;
Procedure Init (var q: Queue;
var Free,First:integer);
begin
First: =1;
Free: =1;
end;
Отметим, что и в этом случае индексы при SM и a можно опустить в связи с тем, что для вычисления текущего элемента каждой из таблиц достаточно знать только значение предыдущего элемента.
Соотношения,
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа