domingo, 3 de marzo de 2013

Número áureo (cálculo alternativo)

Holas, hace unas semanas publiqué una entrada en la que explicaba lo que era el número áureo y como se calculaba a partir de la secuencia de Fibonacci.

En esta entrada os mostraré una manera alternativa de calcular el número áureo, lo cierto es que esta manera de calcularlo me parece super curiosa, mas que nada por las operaciones que se realizan...

El cálculo en cuestión es el siguiente:


1+(1/1+(1/1+(1/1+(1/1+(1/1+(1/1))))))


La operación a simple vista puede parecer un poco engorrosa, pero realmente es una operación muy sencilla, lo único que estamos haciendo es sumar uno mas uno, y después dividir el segundo operando de la suma (el segundo uno) entre uno mas uno, y así seguido, la operación se puede repetir hasta el infinito, de manera que cuantos mas bucles realicemos mas preciso será el número áureo que obtengamos.

Y al igual que con el otro método, en esta ocasión también he diseñado un código para calcular el número áureo usando este método, os lo dejo a continuación:



#include <stdio.h>

int main(int argc, char *argv[])
{

 if(argc<2)
 {
  printf("\nSe necesita un argumento\n\n");
 
  return -1;
 }

 if(!(atoi(argv[1]) > 0 && atoi(argv[1]) <=37))
 {
  printf("\nEl argumento debe estar entre 0 y 37\n\n");

  return -1; 
 }

 int max, i=0;

 double inc = 1;

 max = atoi(argv[1]);

 for(i=0; i < max; i++)
 {
  inc=(double)1/((double)1+inc);

 }

printf("\nNumero Aureo: %.50lf\n\n", (double)1+inc);


}


Para usar el programa solo hay que indicarle como argumento el número de bucles que realizará el programa para calcular el número áureo.

y esto es todo por ahora.

Saludos =)


No hay comentarios:

Publicar un comentario