Ver Mensaje Individual
  #10 (permalink)  
Antiguo 02/06/2010, 00:17
Avatar de Nahuel2k10
Nahuel2k10
 
Fecha de Ingreso: abril-2010
Mensajes: 37
Antigüedad: 14 años
Puntos: 3
Respuesta: Fibo(1000): códigos y comentarios.

Código Javascript:
Ver original
  1. function fib(x){
  2. var a = "0";
  3. var b = "1";
  4. var c = "0";
  5. for (k=x;k>2;k--){
  6.     c=a;
  7.     a=b;
  8.     b=suma(b,c);
  9. }
  10.     return suma(a,b);
  11. }
  12. function suma(a,b){
  13.     var sumado = "";
  14.     var num=0;
  15.     if(b.length>a.length) {
  16.         var c=a;
  17.         var a=b;
  18.         var b=c;
  19.     }
  20.     c="0"
  21.     for(i=0; i<b.length ; i++){
  22.         var num =eval(a.substring(a.length-1-i,a.length-i))+eval(b.substring(b.length-1-i,b.length-i))+eval(c);
  23.         if(num>9){
  24.             c="1";
  25.             num=num-10;
  26.         }else{
  27.             c="0";
  28.         }
  29.         sumado=num.toString().concat(sumado);
  30.     }
  31.     i=b.length;
  32.     while(i<a.length){
  33.         if(c == "0"){
  34.             num=eval(a.substring(a.length-1-i,a.length-i));
  35.         }else{
  36.             num=eval(a.substring(a.length-1-i,a.length-i))+1;
  37.         }
  38.         if(num>9){
  39.             num=num-10;
  40.         }else{
  41.             c="0";
  42.         }
  43.         sumado=num.toString().concat(sumado);
  44.         i++;
  45.     }
  46.     if(c =="1"){
  47.         sumado=c.concat(sumado);
  48.     }
  49.     return sumado;
  50. }

Bueno el mío a lo mejor es un poco menos efectivo que el vuestro.. pero bueno el resultado devuelto es válido. Saludoss