sql2005中计算F(n)=1!+2!+3!+...+n!

来源:百度知道 编辑:UC知道 时间:2024/05/10 09:31:18
以下是我自己编的,不知道哪里错了
create function f(@n int)
return int
as
begin
declare @s int,@k int,@i int,@j int
set @s=0
set @i=1
while @i<=@n
begin
set @j=1
set @k=1
while @j<=@i
begin
set @k=@k*@j
set @j=@j+1
end
set @s=@s+@k
set @i=@i+1
end
return @s
end
select dbo.f(3)

create function test_uf(@count int)
returns bigint
as
begin
declare @num int,
@sum bigint,
@digit bigint,
@nextnum int
set @digit=1
set @num=1
set @sum=0
while(@num<=@count)
begin
while(@nextnum>1)
begin
set @digit=@digit*@nextnum
set @nextnum=@nextnum-1
end
set @sum=@digit+@sum
set @num=@num+1
set @digit=1
set @nextnum=@num
end
return @sum
end
不想找
我直接写个你看看可以不

看不出哪里错啊?是不是电脑中毒了啊