viernes, 29 de febrero de 2008

Un experimento como jugando (parte 4)

Pensé que sería interesante trabajar con bases aún más grandes. Así que modifiqué el código a fin de que sólo muestre la base y el nº de términos del ciclo. Helo aquí:

public class FibonacciÚltimaCifraConsolidado {
public static void main(String[] args) {
int nºTérminos;
int base;
int fNm2; // Fn-2
int fNm1; // Fn-1
int fN; // Fn
System.out.println("Base\tNº de Términos");
for (base = 2; base <= 2000; base++) { System.out.print(base + "\t"); nºTérminos = 0; fNm2 = 0; fNm1 = 1; do { nºTérminos++; fN = (fNm2 + fNm1) % base; fNm2 = fNm1; fNm1 = fN; } while ( (fNm2 != 0) || (fNm1 != 1)); System.out.println(nºTérminos); } } }


Por razones de espacio, no voy a mostrar los resultados. Baste decir que para la base 1991, el nº de términos es 90, pero para la base 1994, el ciclo es 5988. Pero sí les puedo mostrar una gráfica tipo dispersión XY, es decir la gráfica de una función y=f(x), donde x es la base, e y es el nº de términos del ciclo. La imagen es:

(Hacer clic en la imagen para agrandar)

Esto si que es espectacular. A pesar del aparente caos, surgen algunas tendencias (rectas en el gráfico). Al parecer no todo era tan aleatorio como pensabamos en un inicio.

No hay comentarios.:

Publicar un comentario

Deja tus comentarios y responsabilízate por tus palabras...

Ecuaciones matemáticas