TSQL编写存储过程计算1!+2!+3!+…+N!

编写存储过程如下;两层循环;内层计算阶乘,外层相加;

create procedure sp_getfact @n int
as
declare @i int,@j int,@val int,@sval int
set @i=1
set @val=0
while @i<=@n
    begin
        set @j=@i
        set @sval=1
        while @j>1
        begin
            set @sval=@sval*@j
            set @j=@j-1
        end
        set @val=@val+@sval
        set @i=@i+1
    end
return @val
go

 @n为输入参数;

存储过程创建成功以后;执行一下;先输入一个参数3;

看一下结果,9; 1 + 2 + 3*2*1 = 9;

然后用语句来执行;结果33;

declare @myfact int
exec @myfact = sp_getfact @n=4
SELECT	'结果:' = @myfact

 1+2+6+4*3*2*1 = 9 + 24 = 33;    没错;

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值