Напишите пожалуйста, как написать во FREE PASCAL число в степени i+1. Вот сама программа:
Program zadacha;
Var k,s : Double;
n,i : LongInt;
Begin
k:=0
ReadLn(n);
s:=-1;
For i:=1 to n do
k:=k+exp((i+1)*Ln(s));
WriteLn(k:0:6);
ReadLn;
End.
Вот условие задачи:
Дано натуральное число n. Найдите сумму 1−1/2+1/3−...+(−1)n+1/n.
Формат входных данных:
Вводится целое число n(1≤n≤100000).
Формат выходных данных:
Требуется вывести одно число — значение выражения c точностью до шестого знака после запятой.
Примечания:
Условный оператор и оператор возведения в степень использовать запрещается.
Ответы
Ответ дал:
0
У вас программа считает не формулу, приведенную в условии.
Если делать по условию, то:
s := 0;
i := 1; while (i <= n) do begin s := s + 1/n; inc(n,2); end;
i := 2; while (i <= n) do begin s := s - 1/n; inc(n,2); end;
Если делать по условию, то:
s := 0;
i := 1; while (i <= n) do begin s := s + 1/n; inc(n,2); end;
i := 2; while (i <= n) do begin s := s - 1/n; inc(n,2); end;
Похожие вопросы
2 года назад
2 года назад
7 лет назад
10 лет назад
10 лет назад
10 лет назад