Como escrever um programa que gera a série de Fibonacci usando a função

Leonardo de Pisa (aka Fibonacci ) foi um matemático italiano do século 13 . Ele era famoso durante sua vida para a introdução do sistema de numeração hindu usamos agora em um mundo medieval que ainda estava usando algarismos romanos . Hoje, ele é mais famoso por uma série que começa a 1, 1, 2, 3, 5, 8, … e assim por diante. Após as duas primeiras, cada novo número é a soma dos dois últimos números . Esta série aparece em vários lugares na natureza e também é útil na resolução de alguns problemas difíceis. É um exercício de programação comum nas aulas de ciência da computação . Instruções

1

esboçar a solução em pseodocode – uma descrição idioma Inglês da função. A função de Fibonacci terá três partes. Parte 1 cuida dos dois primeiros números da sequência. A próxima seção apresenta -se um par de variáveis ​​, a e b, que acompanhar os dois últimos números da série Fibbonacci por isso é fácil de encontrar o próximo número da série: a + b . A última parte da função é um laço que mantém o controle de encontrar o número correto de novos elementos na série, a impressão de cada elemento e atualizar a e b.

2

Cuide de um problema complicado que surge quando um novo número na seqüência é encontrado e a e b são atualizados. Se A e B são os dois últimos números na série , o próximo número na série é a + b . O novo um é o antigo e o novo b b é a idade a + b – mas o antigo um tenha sido alterado . Olha o que acontece quando a = 3 e b = 5. Substituindo uma com b faz a = 5 , o que é correto, mas substituindo b com a + b faz b = 5 + 5 = 10, que é incorreto.

3

Escreva o código na linguagem C:

int fibb – função (int lim ) {if ( lim == 1) printf ( “1”); if ( lim maior- ou -igual a 2 ) printf ( ” 1 1 ” ); if ( lim maior que 2) {int a : 1; int b: = 1; int count : = 2; while ( contar menos do que lim ) {printf (a + b); count + +; c : = a + b; a: = b; b : = c; } } }

onde lim é o número de elementos da série , que são impressos . O problema com a atualização a e b é resolvido por salvar a + b em c, antes de substituir a por b e substituindo b com c .

Deixe um comentário