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

erkisha erkisha    2   22.09.2019 18:20    2

Ответы
ккк130 ккк130  08.10.2020 10:14
Каждое следующее слагаемое получается из предыдущего путем домножения на -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
ПОКАЗАТЬ ОТВЕТЫ
Lizzza1111 Lizzza1111  08.10.2020 10:14
Это сумма геометрической прогрессии со знаменателем 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.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика