Для заданного числа N составьте программу вычисления суммы S=1/2-1/3+1/4-1/5+..+1/n, где n натуральное число.

Для заданного числа N составьте программу вычисления суммы S=1/2-1/3+1/4-1/5+..+1/n, где n натуральное число.
Гость
Ответ(ы) на вопрос:
Гость
///PascalABC.NET (версия 3.1, сборка 1198 от 11.03.2016) var i,n: integer;     s:real; begin   readln(n);   s:=0;   for i:=2 to n do  begin   if i mod 2=0 then s:=s+1/i      else s:=s-1/i ;   end;   writeln(s); end.
Гость
Попробуй так. Думаю должно работать для умеренно небольшого n (во всяком случае до 8 или 9), смотря на сколько хватит стека. При больших n будет вылетать по ошибке памяти, наверное. Компилятора под рукой нет, не тестировал, может где баг сидит. Попробуй у себя, если что будет не так, то напиши. Вводимое число должно быть больше или равно 2, иначе прога сбойнёт. ------------------------------------------------------- program Bobsfeel ; var n: integer ;var s: real ; function sm ( i : integer ) : real ;   var znak : integer ;   begin    if ( i = 2 ) then sm := 0.5 else      begin        if ( i % 2 = 1 ) then znak := -1        else znak := 1 ;       sm := znak / i + sm ( i - 1 ) ;      end ;end ; begin write('vvdiete n >= 2 _') ; readln(n) ;  s := sm ( n ) ; writeln('S= ' , s ) ; end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы