Əsas səhifə > My Stored Routines > Fibonacci ardıcıllığı

Fibonacci ardıcıllığı

Biraz da maraq qataq işimizə ))
Bu procedure input olaraq verilən rəqəmin sayı qədər fibonacci sequence ardıcıllığı generate edir.

delimiter $$

create procedure fibonacci(n int)
begin
		declare n1 int default not null;
		declare n2 int default not null;
		declare n3 int default 0;
		declare seq text;
		declare count int default 0;

		set count=0;
		set n1=1;
		set n2=0;
		set n3=null;
		set seq='';

		while count<n do
				set count=count+1;
				set n3 = n1 + n2; 
				set n1=n2;
				set n2 = n3;
				set seq = (select CONCAT(seq,n3,', ') from dual);
		end while;
	
		SELECT seq AS fibonacci_numbers;
		
end $$

Və məsələn ilk 5 Fibonacci rəqəmləri:

mysql> call fibonacci(5);
+-------------------+
| fibonacci_numbers |
+-------------------+
| 1, 1, 2, 3, 5,    |
+-------------------+
1 row in set (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

İlk 10:

mysql> call fibonacci(10);
+------------------------------------+
| fibonacci_numbers                  |
+------------------------------------+
| 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,  |
+------------------------------------+
1 row in set (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Təşəkkürlər😉

  1. İyun 21, 2013 tarixində, saat 08:14

    mysql-lik deyil :-)Bu boyda kod uzunlugu olar?

  1. No trackbacks yet.

Bir cavab yazın

Sistemə daxil olmaq üçün məlumatlarınızı daxil edin və ya ikonlardan birinə tıklayın:

WordPress.com Loqosu

WordPress.com hesabınızdan istifadə edərək şərh edirsinz. Çıxış / Dəyişdir )

Twitter rəsmi

Twitter hesabınızdan istifadə edərək şərh edirsinz. Çıxış / Dəyişdir )

Facebook fotosu

Facebook hesabınızdan istifadə edərək şərh edirsinz. Çıxış / Dəyişdir )

Google+ foto

Google+ hesabınızdan istifadə edərək şərh edirsinz. Çıxış / Dəyişdir )

%s qoşulma

%d bloqqer bunu bəyənir: