<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">public class Fibonacci {


   public static void main(String args[]) {
      // Serie de fibonacci para los primeros 94 numeros, mas de 93 ya es erroneo el resultado
      int i, n = 94;
      long r = 1, a = 0, b = 1, t = 0;

      System.out.println("val  1 ==&gt; " + 0);
      System.out.println("val  2 ==&gt; " + 1);
      for (i = 3; i &lt;= n; i++) {
         t = a + b;
         System.out.println("val  " + i + " ==&gt; " + t);
         a = b;
         b = t;
         r += t;
      }
      System.out.println("Suma de la serie  " + r);

      // Serie de fibonacci para los primeros 100 numeros
      n = 100;
      // Serie de Fibonacci para cualquier n, solo hay que poner mas digitos en los arreglos
      int TAM = 25;
      // Arreglos de trabajo
      int []A = new int[TAM];
      int []B = new int[TAM];
      int []C = new int[TAM];

      // Inicializacion de los valores de la serie
      A[0] = 0;
      B[0] = 1;

      System.out.println("\n\nSerie de fibonacci con aritmetica de precision arbitraria, para n = " + n);

      for (int k = 3; k &lt;= n; k++) {
         // Pongo en cero el resultante
         for (i = 0; i &lt; TAM; i++) C[i] = 0;
         // Sumo A + B y guardo el resultado en C
         for (i = 0; i &lt; TAM; i++) {
            C[i] += A[i] + B[i];
            if (C[i] &gt;= 10) {
               C[i] -= 10;
               C[i + 1] += 1;
            }
         }
         // Visualizo
         /*
         System.out.println("A =");
         for (i = TAM-1; i &gt;= 0 ; i--)  System.out.print(A[i]);
         System.out.println("");
         System.out.println("B =");

         for (i = TAM-1; i &gt;= 0 ; i--)  System.out.print(B[i]);
         System.out.println("");
         */
         System.out.print("val  " + k + " ==&gt; ");
         for (i = TAM - 1; i &gt;= 0 ; i--)  System.out.print(C[i]);
         System.out.println("");

         // Intercambio valores para continuar con el siguiente termino de la serie
         for (i = 0; i &lt; TAM; i++) {
            A[i] = B[i];
            B[i] = C[i];
         }
      }

   }
}

</pre></body></html>