Предмет: Информатика,
автор: 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 точностью до шестого знака после запятой.
Примечания:
Условный оператор и оператор возведения в степень использовать запрещается.
Ответы
Автор ответа:
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;
Похожие вопросы
Предмет: Химия,
автор: v4023420
Предмет: Математика,
автор: MrMarcos
Предмет: Английский язык,
автор: alenakuleva36
Предмет: Математика,
автор: trollxxl
Предмет: Физика,
автор: Кккааттяя