【例子】斐波纳契数列
来源:互联网 发布:京瓷6525网络扫描设置 编辑:程序博客网 时间:2024/06/05 16:44
斐波纳契数列
800年前,意大利的数学家斐波纳契出版了惊世之作《算盘书》。在《算盘书》里,他提出了著名的“兔子问题”:假定一对兔子每个月可以生一对兔子,而这对新兔子在出生
后第二个月就开始生另外一对兔子,这些兔子不会死去,那么一对兔子一年内能繁殖多少对兔子?
答案是一组非常特殊的数字:1,1,2,3,5,8,13,21,34,55,89……不难发现,从第三个数起,每个数都是前两数之和,这个数列则称为“斐波纳契数列”,其中每个数字都是“斐波纳契数”。
存储过程如下:
Create Procedure sp_Fibonacci@Num Int,@Out Int OutputAsBeginDeclare @A Int,@B Int,@OutA Int,@OutB IntSelect @A = @Num - 1,@B = @Num - 2If @Num <= 0BeginSelect @Out = NULLEndElseBeginIf @Num <= 2BeginSelect @Out = 1EndElseBeginExec sp_Fibonacci @A,@OutA OutputExec sp_Fibonacci @B,@OutB OutputSelect @Out = @OutA + @OutBEndEndReturnEnd
调用存储过程
Declare @A Int
Exec sp_Fibonacci 9,@A OutPut
Print @A
得到结果是:34
在@Num比较大的时候,会报错如下:
服务器: 消息 217,级别 16,状态 1,过程 sp_Fibonacci,行 21
超出了存储过程、函数、触发器或视图的最大嵌套层数(最大层数为 32)。
可见受到了嵌套层次的限制,而且在@Num比较大的时候执行效率也不怎么样,挺慢的。太久没有写SQL Server的存储过程了,一个简单的带返回参数的过程写的是磕磕绊绊,诶,需要温故知新了。
0 0
- 【例子】斐波纳契数列
- Fibonacci数列的两个例子
- 斐波纳契数列
- 斐波纳契数列!
- 斐波纳契数列
- 斐波纳契数列
- 斐波纳契数列
- 斐波纳契数列
- 斐波纳契数列
- 斐波纳契数列
- 斐波纳契数列
- 斐波纳契数列
- 斐波纳契数列
- 斐波纳契数列
- 斐波纳契数列
- 斐波纳契数列
- 斐波纳契数列
- 斐波纳契数列
- [程序员面试宝典]基本字符串压缩
- 灵活运用 SQL SERVER FOR XML PATH
- 三种表复制语句select into 和insert into select
- 【例子】SQL-Server存储过程示例
- Head First SQL 第三章
- 【例子】斐波纳契数列
- 设计模式学习笔记——观察者(Observer)模式
- @RequestBody @注解
- 临时表
- 中日300年(1592~1945)
- 表变量与临时表的优缺点
- Android Studio2.2.3使用C++生成so文件
- 表变量
- A*寻路算法(带动画)