Ontem durante a última palestra do PHP Day houve uma certa polêmica (dentre as várias que houveram nessa palestra) a respeito de criar uma função que calculasse a sequência de fibonacci em apenas uma linha. Enfim (comentários a parte) segue a implementação das sequências de Fibonacci, Tribonacci e Tetranacci com apenas uma linha em PHP.
Este código também está disponível em: http://arthurfurlan.org/phpday/fibonacci.txt
Sequencia de Fibonacci
function fibonacci($n) {
return $n < 0 ? false : $n < 2 ? $n : fibonacci($n-1) + fibonacci($n-2);
}
Sequencia de Tribonacci
function tribonacci($n) {
return $n < 0 ? false : $n < 3 ? fibonacci($n) : tribonacci($n-1) + tribonacci($n-2) + tribonacci($n-3);
}
Sequencia de Tetranacci
function tetranacci($n) {
return $n < 0 ? false : $n < 4 ? fibonacci($n) : tetranacci($n-1) + tetranacci($n-2) + tetranacci($n-3) + tetranacci($n-4);
}
* Obs.: o algoritmo ficou um pouco maior que o convencional porque está tratando o caso de números negativos, que são inválidos.



2 Comments
Qual foi a polémica?
Ficou legal a função :D
Diego Carrion:
Na verdade não foi bem uma polêmica… O palestrante propoz isto como um desafio (?), “calcular a sequência de fibonacci com apenas uma linha”, dando a entender que era algo extremamente complexo/complicado.
Post a Comment