Из-за дурацкого сбоя этого сервиса при сохранении ответа пропал получасовой набор формул в модераторов удалить этот ответ.
P.S. Набираешь ответ - как по минному полю идешь. При нажатии "сохранить" неизвестно что произойти может. Например, при случайном нажатии "сохранить ответ" (каждый может ошибиться) нет анализа, того, что в поле набора данных не пусто и весь этот набор формул мгновенно "улетает в никуда". Я уж не говорю о постоянных "Вы были отключены от сервера".
И еще. Поскольку автор вопроса не виноват, даю два "голых" (без формул) решения.
1. Рекурсивная программа (как не надо решать подобные задачи)
{ рекурcивная программа } function prod(a,b:integer):real; var i:integer; p:real; begin p:=1; for i:=a to b do p:=p*i; prod:=p end;
function pow2(n:integer):integer; var i,p:integer; begin p:=1; for i:=1 to n do p:=p*2; pow2:=p end;
function an(n:integer):real; begin if n=1 then an:=0.5 else an:=an(n-1)*n/prod(pow2(n-1)+1,pow2(n)) end;
var s:real; i,n:integer; begin Write('n='); Read(n); s:=0; for i:=1 to n do s:=s+an(i); Writeln(s) end.
Пример: n=4 0.58348214285829
2. А вот рекуррентная, которую можно написать, если немного подумать.
{ рекуррентная программа } var a,p,s:real; i,j,n,lo,hi:integer; begin Write('n='); Read(n); a:=0.5; s:=a; lo:=1; hi:=2; for i:=2 to n do begin p:=1; lo:=hi+1; hi:=hi*2; for j:=lo to hi do p:=p*j; a:=a*i/p; s:=s+a end; Writeln(s) end.
Программы-переводчики, как и онлайн переводчики предназначены для быстрого перевода текста на другой язык, отличный от оригинального текста, без высокой квалификации пользователя по знанию иностранного языка. Текст на русском языке, полученный путём машинного перевода, можно быстро отредактировать. Особенно удобно пользоваться переводчиком при работе с большим объёмом текста. А вот те люди, которые слабо знают английский язык, и они так переводят русский текст на английский язык, они могут использовать этот текст только для себя, например, для получения навыков по правке английских текстов. Только не надо надеяться кого-то так обмануть, не надо куда-то сдавать этот текст, так как квалифицированный человек быстро найдёт ошибки в английском тексте, который был получен при машинном переводе.
P.S. Набираешь ответ - как по минному полю идешь. При нажатии "сохранить" неизвестно что произойти может. Например, при случайном нажатии "сохранить ответ" (каждый может ошибиться) нет анализа, того, что в поле набора данных не пусто и весь этот набор формул мгновенно "улетает в никуда".
Я уж не говорю о постоянных "Вы были отключены от сервера".
И еще. Поскольку автор вопроса не виноват, даю два "голых" (без формул) решения.
1. Рекурсивная программа (как не надо решать подобные задачи)
{ рекурcивная программа }
function prod(a,b:integer):real;
var
i:integer;
p:real;
begin
p:=1;
for i:=a to b do p:=p*i;
prod:=p
end;
function pow2(n:integer):integer;
var
i,p:integer;
begin
p:=1;
for i:=1 to n do p:=p*2;
pow2:=p
end;
function an(n:integer):real;
begin
if n=1 then an:=0.5
else an:=an(n-1)*n/prod(pow2(n-1)+1,pow2(n))
end;
var
s:real;
i,n:integer;
begin
Write('n='); Read(n);
s:=0;
for i:=1 to n do s:=s+an(i);
Writeln(s)
end.
Пример:
n=4
0.58348214285829
2. А вот рекуррентная, которую можно написать, если немного подумать.
{ рекуррентная программа }
var
a,p,s:real;
i,j,n,lo,hi:integer;
begin
Write('n='); Read(n);
a:=0.5; s:=a; lo:=1; hi:=2;
for i:=2 to n do begin
p:=1; lo:=hi+1; hi:=hi*2;
for j:=lo to hi do p:=p*j;
a:=a*i/p;
s:=s+a
end;
Writeln(s)
end.
Пример
n=4
0.58348214285829
Программы-переводчики, как и онлайн переводчики предназначены для быстрого перевода текста на другой язык, отличный от оригинального текста, без высокой квалификации пользователя по знанию иностранного языка. Текст на русском языке, полученный путём машинного перевода, можно быстро отредактировать. Особенно удобно пользоваться переводчиком при работе с большим объёмом текста. А вот те люди, которые слабо знают английский язык, и они так переводят русский текст на английский язык, они могут использовать этот текст только для себя, например, для получения навыков по правке английских текстов. Только не надо надеяться кого-то так обмануть, не надо куда-то сдавать этот текст, так как квалифицированный человек быстро найдёт ошибки в английском тексте, который был получен при машинном переводе.