Мячик на лесенке

Пусть мячик находится на некоторой ступеньке с номером X. Тогда он может спрыгнуть на ступеньки с номерами X - 1, X - 2 и X - 3. Если мы введем функцию F(X), которая определяет число маршрутов со ступеньки X до земли, то F(X) = F(X – 1) + F(X – 2) + F(X – 3). Остается просчитать вручную граничные значения: F(1) = 1, F(2) = 2 (очевидно), F(3) = 4 (3–2–1–0, 3–2–0, 3-1–0, 3–0). Все остальное уже сделано в предыдущей задаче. Чтобы не загромождать функцию, можно присваивания граничных значений сделать заранее, тогда отсечение произойдет автоматически:

	Function F(X : integer) : longint;
	begin
		if D[X] = 0 then D[X] := F(x-1) + F(x-2) + F(x-3);
		{для X = 1..3, D[X] > 0 изначально}
		F := D[X]
	end;

Написание итеративной формы также труда не представляет.

к занятию № 2

 


Рейтинг ресурсов УралWeb

 

Сайт создан в системе uCoz