Вниз
Скачать: CL | DM;

Расчёт числа Эйлера   Найти похожие ветки 

← →
Alois   (2005-11-18 22:55) [0]

Уважамые мастера, поогите плиз. Как рассчитать число Эйлера рекурсивно? Формула расчёта: sum = 1/0! + 1/1! + 1/2! + ... + 1/n!


← →
Virgo_Style ©   (2005-11-18 23:05) [1]

function Eiler(N:Integer):Double;//наверняка пишется не так, надеюсь, он не обидится -)
begin
 if N=0 then
   Result:=1/Fact(0)
 else  
   Result:=1/Fact(N)+1/Eiler(N-1);
end;


Надеюсь, ничего не напутал. Если встроенной функции факториала нет - напиши сам, можно тоже с рекурсией.


← →
Alois   (2005-11-18 23:13) [2]

Большое спасибо!


← →
kami ©   (2005-11-18 23:29) [3]

Virgo_Style ©   (18.11.05 23:05) [1]

Result:=1/Fact(N)+1/Eiler(N-1);

Вроде, должно быть
Result:=1/Fact(N)+Eiler(N-1);

Надеюсь, тоже ничего не напутал. :)


← →
Alois   (2005-11-19 01:11) [4]

Спасибо, но что-то тоже не работает.


← →
Virgo_Style ©   (2005-11-19 09:01) [5]

kami ©   (18.11.05 23:29) [3]

Точно, спасибо :-)

Alois   (19.11.05 1:11) [4]

Как именно не работает?


← →
MBo ©   (2005-11-19 11:00) [6]

Cчет в прямом порядке:


function E(N: Integer): Double;

 function Recurse(M: Integer; InvFac: Double): Double;
 begin
   if M = N then
     Result := InvFac / M
   else begin
     InvFac := InvFac / M;
     Result := InvFac + Recurse(M + 1, InvFac);
   end;
 end;

begin
 Result := 1 + Recurse(1, 1);
end;



← →
Alois   (2005-11-19 20:42) [7]

Спасибо всем, кто откликнулся!
Надо было так:

function eulerRekursiv(n: integer): double;
begin
 if n = 0 then result:= 1
       else
 result := 1.0/fact(n) + eulerRekursiv(n - 1);
end;


← →
Separator ©   (2005-11-19 21:12) [8]

О блин, классно
Но учти, так дольше



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
2-1132257447
illy
2005-11-17 22:57
2005.12.04
Реестр API


2-1132309045
WandR
2005-11-18 13:17
2005.12.04
Проблемы с записью структуры в файл


2-1132480548
Balex
2005-11-20 12:55
2005.12.04
странная вещь с I/O error 32


1-1130909161
snowkam
2005-11-02 08:26
2005.12.04
dll! как заставить работать незвестную процедуру или функцию?


14-1131687761
SPeller
2005-11-11 08:42
2005.12.04
Интересно, когда закончится этот русский идиотизм?




   Наверх