Serie de Fibonacci en C/C++

Nuevamente, en Espacio Linux, el mismo usuario de la “suma de serie de 1/2n (con n > 0) solicita ayuda para resolver la serie de Fibonacci. Si consideramos un arreglo a para dichos valores, el primer término es a[0] = 0 y a[1] = 1. A partir de aquí, los sucesivos términos se determinan mediante la expresión:

ai+1 = ai-1 + ai

El siguiente código permite determinar n valores de la serie. Se usó un long long int ya que la declaración simple sólo permitía determinar 47 de tales términos.

#include <iostream>
#include <cstdlib>

using namespace std;

int main(){

	system ("clear");

	int i, n, cont = 0;

	long long int a[100];

	a[0] = 0;
	a[1] = 1;

	cout << "Numero de terminos de la serie = ? ";

	cin >> n;

	cout << "\n";

	for(i=1; i < n; i++){

		a[i+1] = a[i-1] + a[i];

	}


	for(i=0; i < n; i++){

		if (cont == 10){ 

			cout << "\n";

			cont = 0;			

		}

		cout << a[i] << " ";

		cont += 1;	

	}
      
	cout << "\n";

}

Esta es la salida para los 50 primeros términos:

Numero de terminos de la serie = ? 50

0 1 1 2 3 5 8 13 21 34 
55 89 144 233 377 610 987 1597 2584 4181 
6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 
832040 1346269 2178309 3524578 5702887 9227465 14930352 24157817 39088169 63245986 
102334155 165580141 267914296 433494437 701408733 1134903170 1836311903 2971215073 4807526976 7778742049 
Esta entrada fue publicada en Código C++, Linux. Guarda el enlace permanente.

2 respuestas a Serie de Fibonacci en C/C++

  1. Hola. Antes que nada déjame decirte que tienes un buen blog. Soy estudiante de sistemas (primer semestre) y me dejaron hacer esta tarea. El problema es que no entiendo la función de la variable “i”. Tampoco entiendo la función del using namespace std. Si me pudieras explicar sería un gran favor.

    Gracias de antemano.

    • Gracias por tu comentario. En este link:

      http://oropezaroberto.awardspace.com/paginas/_using_namespace_std_.php

      tienes una explicación del por qué el uso de los namespace.

      Con relación a “i” es simplemente el índice que permite inferir los términos sucesivos a partir del segundo. El primero (índice 0) tiene un valor de 0 y el segundo (índice 1) tiene un valor de 1. Los términos sucesivos (a partir del tercero; índice 2) tienen esta fórmula (algoritmo):

      a[i+1] = a[i-1] + a[i]

      Es muy sencillo de programar en C++ y en cualquier lenguaje.

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s