Я пытаюсь закодировать упражнение 13 леди. Вы должны вычислять с помощью fibonacci, чтобы определить, как вы можете подняться по лестнице, когда вы можете сделать 1 или 2 ступени в то время.номера фибоначчи начинаются 0, 1, 2, 3, 5 для вариантов 2, но как я начинаю для варианта 3 или 4
Я сделал петлю, создавая первые 50 чисел Фибоначчи, как это:
$total = 50;
$fibonacci[0]=0;
$fibonacci[1]=1;
for($i=2;$i<=$total;$i++){
$fibonacci[$i] = $fibonacci[($i-1)] + $fibonacci[($i-2)];
}
Это хорошо работает, если вы можете сделать 1 или 2 ступени в то время.
Но как мне настроить этот цикл, чтобы дать мне первые 50 номеров фибоначчи, если вы можете взять 1, 2 или 3 ступени в то время.
, если вы можете взять 1 или 2 ступени вы используете: Fx = F[(x-1)] + F[(x-2)];
если вы можете сделать 1, 2 и 3 вы используете: Fx = F[(x-1)] + F[(x-2)] + F[(x-3)];
если вы можете сделать 1, 2, 3 и 4 вы используете : Fx = F[(x-1)] + F[(x-2)] + F[(x-3)] + F[(x-4)];
Тогда вы можете сделать столько чисел или вычислить столько чисел, сколько пожелаете. Но вам всегда понадобятся первые несколько чисел, которые смогут выполнить вычисления.
Я надеюсь, что эта таблица ясно, что я имею в виду:
2 3 4 5 6
1 1 1 1 1 1
2 2 2 2 2 2
3 3 4 4 4 4
4 5 7 8 8 8
5 8 13 15 16 16
6 13 24 29 31 32
В строке ниже 2 является основным Фибоначи
Ниже 3 мне нужно число от 1 до 3, чтобы иметь возможность рассчитать # 4 и так далее
Ниже 4 я нужен первый 4, чтобы иметь возможность известково # 5 и так далее
Может кто-нибудь помочь мне создать цикл, чтобы создать первый, скажем, 10 номеров для строки 4 d 5 и 6?
Благодаря
Хм ... Я прочитал ваш вопрос 2 раза, и все же я не получу вас –
, если вы проверите таблицу, первая строка числа - это последовательность фибоначчи, с которой вы можете начать с 0,1, а затем вычислить другие числа, используя f [(x-1)} = f [(x-2)]. –
, который дает вам базовый 1,2,3,5,8 .... –