Calcular a série de Fibonacci
Publicado por Felipe Leão Mansur Pinheiro (última atualização em 30/09/2009)
[ Hits: 13.646 ]
Eis um algoritmo que serve para calcular a famosa série do matemático Fibonacci. O sistema funciona com o usuário escolhendo as opções fornecidas pelo MENU GERAL, então se a escolha for 1 pede-se, em seguida, o limite da série. Se escolhido 2, mostra-se informações do algoritmo. Se fornecido 3 então o programa aborta a execução e sai.
Por favor, mandem sugestões ou críticas, afinal é errando que se aprende, ainda mais em programação!
The Unforgiven.
#include<stdio.h> #include<conio.h> #include<stdlib.h> int fibonacci(int i) { if((i==0)||(i==1)) return i; else return fibonacci(i-1)+fibonacci(i-2); } int main() { int n,i,f=0,escolha=0; system("color 02"); do{ system("cls"); printf(" * - - - - - - - - - - - - - - - - - - -*\n"); printf(" | & MENU GERAL & |\n"); printf(" | - - - - - - - - - - - - - - - - - - -|\n"); printf(" | (1)-Inicia Serie |\n"); printf(" | |\n"); printf(" | (2)-Sobre o Algoritmo |\n"); printf(" | |\n"); printf(" | (3)-Sair |\n"); printf(" * - - - - - - - - - - - - - - - - - - -*\n"); scanf("%d",&escolha); switch(escolha){ case 1: { printf("Forneca o limite da Serie.\n"); scanf("%d",&n); while(n < 0){ printf("Forneca um numero positivo para a serie!Depois pressione ENTER.\n"); scanf("%d",&n); getch(); } for(i=0;i<n;i++) fibonacci(i); for(i=0;i<n;i++) printf("Fibonacci(%d)=%d\n",++f,fibonacci(i)); f=0; printf("-------------------------------------\n"); printf("A serie de Fibonacci consiste em\n"); printf("F(n)={0 se n=0 , 1 se n=1 ,(n-1)+(n-2) outros casos.\n"); printf("Pressione ENTER.\n"); getch(); break; } case 2: { printf("Desenvolvido por:\n"); printf("!===================================!\n"); printf("! Nome:Felipe Leao !\n"); printf("! Curso:Ciencia da Computacao !\n"); printf("! Periodo:IV !\n"); printf("! Disciplina:APA !\n"); printf("! Instituicao: UNIPAC !\n"); printf("!===================================!\n"); printf("Este algoritmo foi escrito em Linguagem C utilizando a ideia de recursividade.\n"); printf("Futuramente sera incluido a divisao dos elementos dessa serie que servira\npara aproximacao da Proporcao Divina.\n"); printf("Pressione ENTER.\n"); getch(); printf("\n\n"); break; } case 3: { printf("\aOBRIGADO POR USAR ESTE APLICATIVO!\n"); printf("Saindo...\n"); getch(); exit(0); break; } default: { printf("Forneca uma opcao valida.Voltando ao MENU GERAL.\n"); printf("Pressione ENTER.\n"); getch(); break; } } }while(escolha !=3); getch(); return 0; }
Aprendendo a usar classes em C++
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta