136ж срочно составить программу паскаль

0 голосов
36 просмотров

136ж срочно составить программу паскаль


image

Информатика (255 баллов) | 36 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
Заморочено с виду и просто, если разобраться.
\displaystyle S(n)= \frac{1!}{1}+\frac{2!}{1+\displaystyle \frac{1}{2} }+...\frac{n!}{1+\displaystyle \frac{1}{2}+...+ \frac{1}{n}}=a_1+a_2+...+a_n; \\ \\ 
a_k= \frac{k!}{1+\displaystyle \frac{1}{2}+...+ \frac{1}{k}}= \frac{b_k}{c_k}, \ k=1,2,... \,n;

b_k=k!=k*(k-1)!=k*b_{k-1}, \ b_1=1; \\ 
c_k=c_{k-1}+\displaystyle\frac{1}{k}; \ c_1=1 \\ \\
S(n)=\displaystyle \sum_{k=1}^n\frac{b_k}{c_k}, \ k=1,2,... \,n

var
  k,n:integer;
  b,c,s:real;
begin
  Write('n='); Read(n);
  s:=1; b:=1; c:=1;
  for k:=2 to n do begin
    b:=k*b; c:=c+1/k;
    s:=s+b/c
    end;
  Writeln('S=',s)
end.
 
Пример
n=7
S=2307.36000904458
(150k баллов)
0

7!/(1+1/2+1/3+...+1/7) = 235200/121

0

Разве не так?

0

1943,801

0

6! = = > 14400/49

0

5! = => 7200/137

0

4! ==> 288/25

0

3! ==> 36/11

0 голосов

Var
y, s, d: real;
i, n, j: integer;

function factorial(N: integer): longint;
begin
if N = 0 then factorial := 1 
Else factorial := factorial(N - 1) * N
end;

begin
readln(n);
s := 1;
for i := 2 to n do 
begin
d := 1;
for j := 2 to i do
d := d + (1 / j);
s := s + (factorial(i) / d); 
end;
write(s);
end.

(314k баллов)
0

в экспоненциальной форме 6.76230700391526E+17

0

все работает=)

0

Значит я подсчитывал конечное только

0

В этом ошибка

0

var
y, s, d: real;
i, n, j: integer;

function factorial(N: integer): longint;
begin
if N = 0 then factorial := 1
Else factorial := factorial(N - 1) * N
end;

begin
readln(n);
s := 1;
for i := 2 to n do
begin
d := 1;
for j := 2 to i do
d := d + (1 / j);
s := s + (factorial(i) / d);
end;
write(s);
end.