PowerShell v2 +, 85 79 69 bytes
param($n)$b=1,1;2..$n|%{$b+=$b[$_-$b[$_-1]]+$b[$_-$b[$_-2]]};$b[$n-1]
Toma entrada $n, establece $bque sea una matriz de @(1, 1), luego ingresa un bucle desde 2 .. $n. Cada iteración añadimos $bel último cálculo en la secuencia con un simple +=y la definición de la secuencia. Luego sacamos el número apropiado de $b(con un -1porque las matrices en PowerShell están indexadas a cero). Esto funciona si $nes 1o 2porque ambos valores están rellenados previamente en los índices más bajos $bdesde el principio, por lo que incluso si el bucle se suma a la basura, se ignora de todos modos.
Solución recursiva 78 76 bytes
$a={param($k)if($k-lt3){1}else{(&$a($k-(&$a($k-1))))+(&$a($k-(&$a($k-2))))}}
La primera vez que utilicé el equivalente de una lambda como respuesta, ya que generalmente una solución iterativa es más corta (como puede ver en todos los padres anidados). Pero, en este caso, los parens anidados están casi duplicados en la solución iterativa con las llamadas de matriz anidadas, por lo que la solución recursiva es más corta. No, la solución iterativa es de hecho más corta (ver arriba).
Llámalo a través del operador de ejecución, como &$a 20. Solo una llamada recursiva directa.