Ошибка после того, как считает, формулирует на основании функции [дублированного] SQL

У этого вопроса уже есть ответ здесь:

Я хочу добавить функцию, которая вычисляла бы число Эйлера на основании factorial в SQL, но не, если он делал мое программирование хорошо на основании функции, которую я считаю очевидной. Число, которое он должен мне бросать, - 2,71828

Я оставлю мой код ожидая Вашей помощи. Спасибо

/Factorial/

alter function factorial(@num float(5))
returns float
begin
declare @fact float
if @num = 0 or @num = 1
select @fact = 1
else
select @fact = dbo.factorial(@num -1) * @num
return @fact
endselect [dbo].factorial (20)

/euler/

alter function euler (@e float(10))
returns float
begin
declare @i float=1, @sum float=0
while(@i <= @e)
begin
set @sum  =1+(1/(select [dbo].factorial (@i)))
set @i=@i+1
end
return @sum
end
select [dbo].euler (3)
0
задан 05.11.2019, 06:17
1 ответ

Ты можешь исправлять функцию euler следующей формы:

alter function euler (@e float(10))
returns float
begin
declare @i float=1, 
        @sum float=1

while(@i <= @e)
begin
    set @sum  = @sum+(1/(select [dbo].factorial (@i)))
    set @i=@i+1
end
return @sum
end

Пока mГЎs большой parГЎmetro, который envГ-схвати в нее funciГіn mГЎs, приближается в nГєmero и. Я надеюсь, что он подает тебя.

0
ответ дан 01.12.2019, 12:45

Теги

Похожие вопросы