请帮帮我。我需要编写两个函数,一个函数计算阶乘,另一个函数计算欧拉和。
要计算出欧拉总和,我需要使用计算工厂的函数。 我已经具有阶乘的功能,但是在求和时,结果为“ NULL”
注意:这需要通过“ while”循环完成
e = 1 + (1/1!) + (1/2!) + (1/3!) + (1/n!)
我的代码:
CREATE FUNCTION Factorial (@a INT)
RETURNS INT
AS
BEGIN
DeclARE @i INT
IF @a <= 1
SET @i =1
ELSE
SET @i = @a * dbo.Factorial(@a-1)
RETURN @i
END
SELECT dbo.Factorial(11) 'factorial'
CREATE FUNCTION Sum_Euler(@a FLOAT)
RETURNS FLOAT
BEGIN
DeclARE @b FLOAT,@c FLOAT;
SET @c = (SELECT dbo.Factorial(@a))
WHILE(@b <= @c)
BEGIN
SET @b = 1 / @a * @c
END
SET @b = @b + 1
RETURN @b
END
GO
SELECT dbo.Sum_Euler(10)