Из-за дурацкого сбоя этого сервиса при сохранении ответа пропал получасовой набор формул в модераторов удалить этот ответ.
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.
Const N = 30; Var Days:array[1..N] of boolean; B,A,i:integer; Begin B:=random(15,100); A:=random(60,100); WriteLn('Высота дерева: ',B/10,' м'); WriteLn('Высота подъёма улитки: ',A,' см'); Write('Погода: '); For i:= 1 to N do Begin if random(2) = 1 then Days[i]:=true else Days[i]:=false; if Days[i] then Write('солнечно ') else Write('пасмурно ') End; WriteLn;
For i:= 1 to N do Begin if Days[i] then Begin if A+3<=B then A:=A+3 else A:=B; End else Begin if A-2>=0 then A:=A-2 else A:=0; End End; Write('Высота поъёма улитки: ',A/10,' м') End.
javascript:var массив = [], A = prompt(); for (let сч = 0; сч < A; сч++) массив.push(Math.random() * 100); alert(массив.reduce(function (пр, зн) { return зн > A ? ++пр : пр; }, 0));