Предмет: Информатика, автор: professional1k

Напишите пожалуйста, как написать во 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 точностью до шестого знака после запятой.
Примечания:
Условный оператор и оператор возведения в степень использовать запрещается.

Ответы

Автор ответа: alexdjk3
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;

Похожие вопросы