基于ORACLE的斐波纳契数列递归算法
2016-06-25 23:01
323 查看
-- 斐波纳契数列 -- 这里有一组数:1、1、2、3、5、8、13、21、34、55......要求计算用这个递归算法,计算出这组数的第40个数是多少? -- 斐波纳契数列的定义:它的第一项和第二项均为1,以后各项都是前两项之和。 CREATE or REPLACE FUNCTION F_Get_fibonacci(uN IN NUMBER) RETURN NUMBER IS uR NUMBER; BEGIN IF uN<=0 THEN -- 判断数值是否小于0 uR := 0; -- 返回数值0 END IF; IF (uN = 1 OR uN = 2) THEN -- 判断位数是否是1或2 uR := 1; -- 返回数值1 END IF; IF (uN >= 3) THEN -- 大于位数 3 -- 进行递归运算,返回指定位数前两位数的和 uR := F_Get_fibonacci(uN-1) + F_Get_fibonacci(uN-2); END IF; RETURN(uR); END F_Get_fibonacci;
SQL> SELECT F_Get_fibonacci(40) FROM DUAL;
F_GET_FIBONACCI(40)
-------------------
102334155
1行被选择,耗时 72.057 秒
SQL>
相关文章推荐
- Oracle 10G RAC一节点系统重做后修复
- Oracle 10G RAC一节点系统重做后修复
- Oracle查询昨天的记录
- Oracle 获取当前日期及日期格式
- Java实现Mybatis将数据批量插入到Oracle数据库
- PL/SQL详细介绍,设置oracle相关
- Oracle存储过程循环语法实例分析
- Oracle存储过程游标用法分析
- Oracle出现超出打开游标最大数的解决方法
- oracle sql日期比较
- oracle登入报错ORA-01017
- 【Oracle】INSERT INTO SELECT语句和SELECT INTO FROM语句的区别
- Oracle学习笔记一
- Oracle硬解析,软解析,软软解析介绍
- cx_Oracle在sublime text里运行遇到 ImportError错误解决办法
- Oracle 数据库开启关闭 及 端口监听相关命令
- Linux下启动相关oracle服务与监听的命令
- ORACLE数据库忘记SYS和SYSTEM密码,SYSTEM被锁定怎么办?
- 工作日志2016-5-9
- 工作日志2016-5-6