mssql sqlserver sql阶乘及阶乘之和的计算方法


摘要:
阶乘:将一个指定数依次递减相乘
例:5的阶乘
5*4*3*2*1 =120
10的阶乘
10*9*8*7*6*5*4*3*2*1 = ?
—————————————
下文将讲述采用sql脚本如何实现阶乘的计算


阶乘的实现方法:
当我们要计算一个数N的阶乘时,
我们需要将1 依次遍历至N,并将所有遍历的数据相乘得到的结果就是阶乘所需的结果
例:


 declare @i int ---设定待计算值
declare @jieGuo bigint ---结果值
set @i=5     ---设置求5的阶乘
set @jieGuo =1 



declare @tmp int 
set @tmp =1 
while  @tmp <= @i
begin
 set @jieGuo =@jieGuo *@tmp
 set @tmp =@tmp+1
end

--------------------------
print (convert(varchar(10),@i)+'的阶乘结果为:')
print (@jieGuo)

sql阶乘编写方法

sql阶乘编写方法


例2:
求10的阶乘及阶乘之和

  declare @i int ---设定待计算值
declare @jieGuo bigint ---结果值
declare @sum bigint ---求阶乘之和
set @i=10     ---设置求5的阶乘
set @jieGuo =1 
set @sum =0 
--------------------------
declare @tmp int 
set @tmp =1 
while  @tmp <= @i
begin
 set @jieGuo =@jieGuo *@tmp
 set @sum =@sum+@jieGuo
 set @tmp =@tmp+1
end
--------------------------
print (convert(varchar(10),@i)+'的阶乘结果为:')
print (@jieGuo)
print (convert(varchar(10),@i)+'的阶乘之和为:')
print (@sum)
 
sql阶乘编写及阶乘求和方法

sql阶乘编写及阶乘求和方法