676751
06.01.2023 15:05

С++ Входные данные
Вводится натуральное число N, которое не превосходит 30.

Выходные данные
Вычислите 1+2+22+23+…+2 N

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Const
  eps = 0.001;

function Pow(p: real; n: integer): real;
// возвращает значение p^n
begin
  Pow := exp(n * ln(p))
end;

function Fact(n: integer): real;
// возвращает значение n!
var
  p: real;
  i: integer;
begin
  p := 1;
  for i := 1 to n do p := p * i;
  Fact := p
end;

var
  i: integer;
  a, ai: real;

begin
  a := 0;
  ai := 2 * eps;
  i := 0;
  while ai > eps do
  begin
    i := i + 1;
    ai := Pow(2 / i, i) * Fact(i);
    a := a + ai
  end;
  writeln('Сумма первых ',i, ' членов ряда с точностью ', eps:0:4, ' равна ', a:0:4)
end.

Тестовое решение:

Сумма первых 32 членов ряда с точностью 0.0010 равна 12.9467
0,0(0 оценок)
Ответ:
Shkolnik1287
01.12.2020 22:55
Паскаль АВС

Program LoctarUgar;
uses crt;
const
  eps=0.001;

function fact(n : integer) : longint;
  begin
    if n <= 1
         then  fact := 1
         else   fact := n * fact(n - 1);
  end;

var
  t,s:real;
  i:integer;
begin
  writeln('*** Alphaeus is thinking... ***');
  writeln('***          OK             ***');
  writeln();
  writeln('Программа вычисляет частичную сумму ряда с заданной точностью');
  writeln('  Общий член ряда:  an = ((3^n)*n! )/ (2n)!');
  writeln('Вычисление прекратится, когда модуль очередного слагаемого станет меньше 0,001');
  writeln();
  s:=0;   i:=1;   t:=1;
  while t>eps do
    begin
      t:=(power(3,i)*fact(i))/(2*fact(2*i));
      s:=s+t;
      writeln('a(',i,')=',t:0:6,'  S=',s:0:6);
      i:=i+1;
     end;
  writeln();
  writeln('Сумма ряда равна',s:0:6);
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота