Дано натуральное число n. Вычислить: S=1-1/2+1/4-1/8+...+(-1)^n*1/2^n.

0 голосов
156 просмотров

Дано натуральное число n. Вычислить: S=1-1/2+1/4-1/8+...+(-1)^n*1/2^n.


Информатика (19 баллов) | 156 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

Это сумма геометрической прогрессии со знаменателем q=-1/2 и первым членом b1=1
S_n= \frac{b_1*(q^n-1)}{q-1} = \frac{(-\frac{1}{2})^n-1}{ -\frac{1}{2} -1}
теперь составляем программу:

//PascalABC.NET
//Версия 3.3.5, сборка 1650
begin
var n:=ReadInteger('n=');
write(((-1/2)**n-1)/(-1/2-1));
end.

(149k баллов)
0 голосов

Каждое следующее слагаемое получается из предыдущего путем домножения на -1/2, нулевое слагаемое 1.

# python 3.5
n = int(input())
b = 1
s = 0
for _ in range(n + 1):
    s += b
    b *= -1/2
print(s)

Пример ввода:
1000
Пример вывода:
0.6666666666666667

(148k баллов)