0
点赞
收藏
分享

微信扫一扫

用MySQL语句实现斐波那契数列(兔子数列)

青鸾惊鸿 2022-04-14 阅读 72
mysqlsql

题目:

我们知道兔子数列(斐波那契数列)具有如下特征:

1,1,2,3,5,8,13,.....

试用MySQL语句输出前100个兔子数列

代码:

CREATE table rabbit(
	num tinyint UNSIGNED auto_increment primary key,
	rabbit_num DECIMAL(21) UNSIGNED DEFAULT 1);
DELIMITER //
CREATE PROCEDURE rabbitnum()
BEGIN
	declare n int default 1;
declare a decimal(21) unsigned default 1;
declare b decimal(21) unsigned default 1;
declare c decimal(21) unsigned default 0;
TRUNCATE TABLE rabbit;
insert into rabbit(rabbit_num) values(a);
insert into rabbit(rabbit_num) values(b);
WHILE n<=98 DO
	SET c=a+b;
INSERT into rabbit(rabbit_num) values(c);
SET a=b;
SET b=c;
SET n=n+1;
	END WHILE;
END//
CALL rabbitnum()//
SELECT * FROM rabbit//
DELIMITER ;

注意:第一百个兔子数很大,所以要注意数据类型

如果要输出更多的兔子数列,更改100数字即可,或另设一个参数,输出任意量的斐波那契数列。

输出结果:

 

 

举报

相关推荐

0 条评论