求斐波那契数列: 1,1,2,3,5,8,13,21,....
-----------------------------------------实现方法
declare @length intselect @length=20 --数列长度--可以直接把下面语句中的@length换成数字就只剩一条语句了 :)
;with fn as
(select 2 as idx,cast(1 as float) as f1,cast(1 as float) as f2union allselect idx+1 as idx,f1+f2 as f1,f1 as f2 from fn where idx<@length)select 1 as idx,1 as f1union allselect idx,f1 from fnOPTION(MAXRECURSION 0)
-----------------------------------------
OPTION(MAXRECURSION 0) --当指定MAXRECURSION为0时,递归层次无限制,100为系统的默认值
-----------------------------------------
公元1202年,意大利数学家斐波那契提出了一个智力题:第一个月买回一对小兔子,第二个月小兔长成大兔,第三个月生下一对小兔,小兔一个月后长成大兔,大兔每月都能生一对小兔,买兔养兔人家各月兔子的对数为1,1,2,3,5,8,13,21,.......谁能往下写得多,谁聪明,这个智力游戏当时十分流行,这个数列就称为斐波那契数列,后来,斐波那契给出了这个数列的递推公式:a1=1,a2=1,a(m+2)=a(m+1)+am,(m≥1,m∈Z)后来人们想找到数列的通项公式,但很久未成功,直到二百多年后,法国数学家比内终于得出了通项公式:an={[(√5+1)^n]/2-[(1-√5)^n]/2]}÷√5一个以正整数为项的数列通项竟是含无理数的复杂分式,令人称奇!这个通项的推导很复杂,这里无法叙述.斐波那契数列美妙无比,以它前项为分子,后项为分母的数列:2/3,3/5,5/8.8/13,......是黄金分割数0.618的分数表示斐波那契数列像黄金分割一样,用途十分广泛,它在科研,文学,艺术,体育,医学等许多方面都有广泛应用,千多年来,对它的研究一直热烈进行,并逐步发展.