У этого вопроса уже есть ответ здесь:
Я хочу добавить функцию, которая вычисляла бы число Эйлера на основании 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)
Ты можешь исправлять функцию 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 и. Я надеюсь, что он подает тебя.