Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2005.12.04;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Начинающим";
Текущий архив: 2005.12.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.089 c
14-1132121651
Ega23
2005-11-16 09:14
2005.12.04
С днем рождения! 16 ноября


3-1129816653
KorvinOE
2005-10-20 17:57
2005.12.04
Перетаскивание записей между DBGrid


2-1132380298
Al_Ba
2005-11-19 09:04
2005.12.04
Подскажите кто знает в чем дело. Не пойму с TStream


2-1132331602
Дева
2005-11-18 19:33
2005.12.04
Добавить строки в SQL


11-1096750056
Я(ты)
2004-10-03 00:47
2005.12.04
Использование Microsoft Speech API





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский