последовательность чисел. нужна помощь с алгоритмом

Marquis

Новичок
последовательность чисел. нужна помощь с алгоритмом

Срочно нужно найти формулу ( а желательно и код :) ) для построения последовательности чисел Фибоначчи с указанием начала и конца пути. Если кто уже делал подобное помогите с решением. :)
 

Frol

Новичок
хех.
скоро будут про сложение чисел спрашивать.
 

Marquis

Новичок
Igor aka TiGR
тнкс
родил, коряво но работает:

PHP:
function F($X) {
	
	$array = array();
	$b = 0;
	$c = 1;
		
	while ($c < $X):
		
		$a = $b; $b = $c; $array[] = $c; $c += $a;
		
	endwhile;

	return $array;
	
}

echo "<pre>"; print_r(F(9999)); echo "</pre>";
 

phprus

Moderator
Команда форума
Marquis
Вот немного короче, но сложнее:
PHP:
function fib($X) {
	$res = array(0, 1);
	for ($i = sizeof($res); ((($m = $res[$i-2] + $res[$i-1]) < $X) ? ($res[$i] = $m) : false); $i++);
	return $res;
}

echo "<pre>"; print_r(fib(22)); echo "</pre>";
Выводит все числа меньшие переданного параметра.

Если же нужно выводить заданное количество чисел Фибоначчи то можно использовать следующую, более простую функцию:
PHP:
function fibnum($num) {
	$res = array(0, 1);
	if ($num < 2) return array_slice($res, 0, $num);
	for ($i = sizeof($res); $i < $num; $i++) {
		$res[$i] = $res[$i-2] + $res[$i-1];
	}
	return $res;
}

echo "<pre>"; print_r(fibnum(14)); echo "</pre>";
 

SiMM

Новичок
> с указанием начала и конца пути
Не понял юмору.
Но в догонку - Формула Бине для вычисления первых двух элементов...
 

Marquis

Новичок
SiMM
начудил с постановкой задачи.
собсна решение уже написал.
 
Сверху