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

Как вычислить факториал (5!) на языке SQL(FB1.5)???   Найти похожие ветки 

← →
VadimKV   (2004-09-08 10:39) [0]

Как вычислить факториал (5!) на находу (Select) c помощью SQL(FB1.5)???


← →
Ega23 ©   (2004-09-08 10:45) [1]

Гы, с помощью двух goto  :о)


← →
Rem   (2004-09-08 10:46) [2]

2*3*4*5


← →
Ega23 ©   (2004-09-08 10:47) [3]

А вообще - while


← →
VadimKV   (2004-09-08 10:51) [4]

Ega23 предлагаешь спомощью Хранимой процедуры, если нет то поподробней пожалуйста.


← →
Digitman ©   (2004-09-08 10:54) [5]


> VadimKV   (08.09.04 10:51) [4]


а чем тебя смущает хранимая процедура ?
для небольших N это вполне эффективно
для больших N лучше реализовать UDF, в которой факториал будет вычисляться, и получать вычисленное значение простейшим запросом

select Factorial(5) from RDB$DATABASE


← →
Ega23 ©   (2004-09-08 10:54) [6]

Я не знаком с диалектом Interbase. Для MS SQL - пожалуйста:

Declare @X int, @Cnt int

Set NoCount On

Set @X=1
Set @Cnt=1

While (@Cnt<=5)
begin
 Select @X=@X*@Cnt
 Select @Cnt=@Cnt+1
end

Set NoCount OFF

Select Result=@X


Можно и классическим способом, через рекурсию. Но это уже действительно ХП должна быть.


← →
VadimKV   (2004-09-08 11:03) [7]

Digitman, а готывая UDF функция есть или ты предлагаешь мне её саму написать. Если есть поделитесь. UDF Я сам не разу не писал.


← →
Digitman ©   (2004-09-08 12:43) [8]


> готывая UDF функция есть


скорей всего есть , я не в курсе

посмотри на ibase.ru


← →
DSKalugin ©   (2004-09-08 13:52) [9]

Есть готовая UDF в udflib на www.mers.com но только для Linux

DECLARE EXTERNAL FUNCTION FACT
   DOUBLE PRECISION
RETURNS DOUBLE PRECISION
ENTRY_POINT "fn_fact" MODULE_NAME "udflib"

http://www.mers.com/Udf00035.htm


← →
Fay ©   (2004-09-08 14:28) [10]

Вычисление факториала через рекурсию - это не классика. Это извращение.



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

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



Память: 0.47 MB
Время: 0.032 c
4-1093524522
OSokin
2004-08-26 16:48
2004.10.03
Как добавить к пункту меню процедуру клика


1-1095421813
Stas_on
2004-09-17 15:50
2004.10.03
Как сделать так, чтобы введённое число из Edit a


3-1094220146
Thunder
2004-09-03 18:02
2004.10.03
Импорт txt в таблицу БД


4-1093715324
Valdemar
2004-08-28 21:48
2004.10.03
Защита CD от копирования


1-1094818246
TUser
2004-09-10 16:10
2004.10.03
Память и указатели




   Наверх