PowerShell v2 +, 85 79 69 bayt
param($n)$b=1,1;2..$n|%{$b+=$b[$_-$b[$_-1]]+$b[$_-$b[$_-2]]};$b[$n-1]
Girdiyi alır $n, $bbir dizi olarak ayarlar @(1, 1), sonradan bir döngüye girer 2 .. $n. Her bir yineleme $b, dizideki en son hesaplamaya basit +=ve dizilimin tanımını uygular. Ardından uygun sayıyı çıkarıyoruz $b( -1çünkü PowerShell'deki diziler sıfır dizinli). Bu eserler ise $nedilir 1veya 2bu değerlerin hem alt endeksleri içine önceden doldurulmuş çünkü $bönemsiz baştan, yani bile döngü çiviler, yine de göz ardı ediyor.
Özyinelemeli çözüm 78 76 bayt
$a={param($k)if($k-lt3){1}else{(&$a($k-(&$a($k-1))))+(&$a($k-(&$a($k-2))))}}
İlk defa cevap olarak bir lambda eşdeğeri kullandım, çünkü genellikle yinelemeli bir çözüm daha kısadır (iç içe geçmiş parelerin hepsinde görebileceğiniz gibi). Ancak, bu durumda, iç içe parenler, iç içe dizi çağrıları ile yinelemeli çözümde neredeyse yinelenir, bu nedenle özyinelemeli çözüm daha kısadır. Hayır, yinelemeli çözüm gerçekten daha kısadır (yukarıya bakın).
Bunun gibi yürütme operatörü aracılığıyla arayın &$a 20. Sadece basit bir özyinelemeli arama.