Jump to content

Sequência de Fibonacci


Bruno Rocha
 Share

Go to solution Solved by Bruno Rocha,

Recommended Posts

  • Solution

consegui depois de raciocinar um tanto, e meu código ficou assim:

static void Main(string[] args)
	{
		int num1=0, num2=1, aux;

		for (int i = 0; i < 60; i++)
		{
			aux=num1;
			num1 = num2;
			num2 = num1 + aux;
			Console.WriteLine("{0}", num2);

		}

		Console.ReadLine();
	}

E na parte que tenho o for e dentro "i<60" podemos mudar para quanto quisermos que a sequência se repita. Ou então obter do usuário o tanto que deve repetir.

Link to comment
Share on other sites

Segue uma versão que eu fiz.

 

using System;
class MainClass {
  public static void Main (string[] args) {
   
int numeroAnterior = 0;
int numeroAtual = 1;
int novoNumero;
int fibonacci;

   
   for (int i = 0; i <100;  i++ )
 {  
       fibonacci = numeroAnterior + numeroAtual;
       Console.WriteLine  (fibonacci);
       numeroAnterior = numeroAtual;
       numeroAtual = fibonacci;   
  }
 
    
    
  }
}
Link to comment
Share on other sites

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace provaexer14
{
    class Program
    {
        static void Main(string[] args)
        {

//Imprime   a sequencia       0               1               1               2               3               5               8 //
 //13              21              34              55              89              144             233             377//
//         610             987  //     

// para mais basta trocar o limite 1000 pelo numero desejado//

            // declaração e inicializaçãod de variaveis //

            int iNumAnt = 0;
            int iNumoAtu = 1;
            int iFibonacci = 0;
            int iInicio = 0;

            // condição para impressão da sequencia //

            for (int i = 0; iFibonacci < 1000; i++)
            { 
                // condição para impressão dos primeiros numeros // 
                if (iInicio <= 1)
                {
                    Console.Write("\t {0} ", iInicio);
                }

                iFibonacci = iNumAnt + iNumoAtu;

                // condição de parada de impressão do numero fibonacci, obs: sem isso ele imprime uma casa depois do limite estipulado (1000)// 
                if (iFibonacci < 1000)
                {
                    Console.Write("\t {0}", iFibonacci);
                }

                iNumAnt = iNumoAtu;
                iNumoAtu = iFibonacci;

                iInicio++;

            }
        }
    }
}
Edited by Tiago Bueno
Link to comment
Share on other sites

Refiz meu código e o deixei mais enxuto.😉

Segue o link com o código funcionando: FIBONACCI

 

using System;
public class MainClass {
  public static void Main () {
    /*******************************************************
    * Este é um programa que gera uma sequencia Fibonacci.
    *This is a program that generates a Fibonacci Sequence.
    * 0,1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144...
    *********************************************************
    */
    
    long fibonnaci=1;
    long sequencia;
    long numPre=0; 
    long numPos=1;
   // int tempFibonacci = 0;
    string valor;
    
    Console.WriteLine("Digite o tamanho da sequencia. ex.: 11, 5, 22, etc.");
    Console.WriteLine("Type the size of the sequence. eg.: 11, 5, 22, etc. \n");
    valor = Console.ReadLine();
    sequencia = long.Parse(valor);
    
    Console.WriteLine("\nFibonacci \n");
    Console.Write("0 ,");
    
    for(int i = 0; i<=sequencia ; i++){
    
    // O numero Fibonacci com a soma do numero anterios (pre) e o posterior (pos).
    //Exemplo  3+2=5  5+3=8 8+5=13...
    fibonnaci = numPre + numPos; //  0 + 1  - fibonnaci=1
    //Após fazer a o calculo na variavel "tempFibonacci", substitui as posições.
    //O numero atual se torna numero anterior e o resultado se torna o resultado desse loop.
    numPre=numPos;
    numPos=fibonnaci ;
    Console.Write(fibonnaci+ ", ");
     
    }  } }
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.