Restos de los números de Fibonacci

Pilar Coscojuela Escanilla

/* Este programa muestra por pantalla y comprueba cada cuantos numeros se repiten
los restos de los numeros de Fibonacci al ser divididos por un numero dado por teclado*/

#include <iostream>
using namespace std;

long long int numeroFibonacci(long long int numero);
int calcularresto(int n);

int main()
{
long long int comp, comp1, n, valor ;

cout<< “Introduce un numero mayor que 1 para el que \n”;
cout<< “quieres dividir los numeros de Fibonacci: “;
cin>> n;
cout<<endl;

valor= calcularresto(n);
cout<<“Los restos al dividir para “<< n <<” se repiten \ncada “<<valor<<” numeros de Fibonacci.\n\n”;
cout<<“Es decir, el numero de Fibonacci ” << valor << ” y el numero \n”
“de Fibonacci “<< valor+1 <<” dan restos 0 y 1 respectivamente al ser\n”
“divididos por “<<n<<” . “<<endl<<endl;
cout<< “Comprobacion: dividir el numero ” << numeroFibonacci(valor)<< ” \ny el “<< numeroFibonacci(valor+1)<<” entre “<<n<<” .”<<endl;
comp=numeroFibonacci(valor)%n;
comp1=numeroFibonacci(valor+1)%n;
cout<< “Sus restos son:” <<comp<< ” y ” << comp1 <<” .\n”;

return 0;
}
long long int numeroFibonacci(long long int numero)
{
long long int ant1, ant2, resultado;

ant1=1;
ant2=0;
int i;

if(numero==0)
return 0;
else if(numero==1)
return 1;
for(i=2;i<=numero;i++){

resultado=ant1+ant2;
ant2=ant1;
ant1=resultado;}
return resultado;}
int calcularresto (int n){
int num,num1;

num=2; num1=3;
while (numeroFibonacci(num)%n!=0 || numeroFibonacci(num1)%n!=1){
num++;
num1=num+1;}
return num;}

Anuncios
Esta entrada fue publicada en Informática e Internet. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

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