Título: Sucesión Fibonacci [Batch] Publicado por: leogtz en 10 Abril 2009, 04:37 am Hola a todos.
Hace tiempo que tenía ganas de hacer esto en Batch. Para los que no sepan que es la sucesión Fibonacci: Citar En matemáticas, la sucesión de Fibonacci es la siguiente sucesión infinita de números naturales: De Wikipedia.(http://upload.wikimedia.org/math/6/0/7/6074d351583993b9a16dd2d9abf2bc5b.png) El primer elemento es 0, el segundo es 1 y cada elemento restante es la suma de los dos anteriores. A cada elemento de esta sucesión se le llama número de Fibonacci. Esta sucesión fue descrita en Europa por Leonardo de Pisa, matemático italiano del siglo XIII también conocido como Fibonacci. Tiene numerosas aplicaciones en ciencias de la computación, matemáticas y teoría de juegos. Código Salida : Código: Numero : 9 Código: C:\>code Código: C:\>code Saludos. Título: Re: Sucesión Fibonacci [Batch] Publicado por: Littlehorse en 10 Abril 2009, 04:48 am Por que del 46 en adelante dan numeros negativos?
Título: Re: Sucesión Fibonacci [Batch] Publicado por: leogtz en 10 Abril 2009, 04:56 am Ahora no recuerdo cual es el limite en batch para almacenar.
Pero tampoco no pidas tanto, el termino 46 en la sucesión de fibonacci es demasiado, mira cuanto duró un codigo en C en calcular el 46, con recursión, es más, no pudó calcularlo, por ser un numero demasiado grande: Código: C:\>timethis fibonacci 46 Mi codigo en Batch : Código: C:\>timethis code.bat Claro que no nos vamos a poner a comparar, solo es para hacer notar que el termino 46 en la sucesión de Fibonacci es muy grande. Título: Re: Sucesión Fibonacci [Batch] Publicado por: Littlehorse en 10 Abril 2009, 05:08 am Mira. (Banca que ahi edito)
(http://i44.tinypic.com/9abioi.jpg) Yo tampoco me acuerdo cuanto es el limite en batch para almacenar, pero probablemente ese sea el problema, pero vamos en C ya que aparezca el numero negativo es porque lo codeaste sin ganas ;D Título: Re: Sucesión Fibonacci [Batch] Publicado por: leogtz en 10 Abril 2009, 05:21 am Mira. (Banca que ahi edito) (http://i44.tinypic.com/9abioi.jpg) Yo tampoco me acuerdo cuanto es el limite en batch para almacenar, pero probablemente ese sea el problema, pero vamos en C ya que aparezca el numero negativo es porque lo codeaste sin ganas ;D Jaja, tal ves, es que lo hice con int´s, si lo hubiera hecho con long´s. :P Gracias por probar el codigo. Título: Re: Sucesión Fibonacci [Batch] Publicado por: Littlehorse en 10 Abril 2009, 05:24 am De nada! Che ese TimeThis lo hiciste vos?
Título: Re: Sucesión Fibonacci [Batch] Publicado por: leogtz en 10 Abril 2009, 05:26 am No, pertenece a el Windows 2000 Resource Kit Tool.
Código: http://www.microsoft.com/downloads/details.aspx?familyid=913795CD-7026-4143-AE85-1F5E096F9BE0&displaylang=en Título: Re: Sucesión Fibonacci [Batch] Publicado por: Littlehorse en 10 Abril 2009, 05:30 am Thx!
Título: Re: Sucesión Fibonacci [Batch] Publicado por: 0x0309 en 10 Abril 2009, 20:14 pm Hey Leo, considerando que solo debes ir sumando los dos números anteriores, podrías crear una función que trate las dos variables como texto, y vaya sumando cada carácter, así te evitas la aparación de números negativos, y podrías alcanzar números muy grandes, considerando que el tamaño máximo de una línea de órdenes es como 4000 u 8000 aprox.
Título: Re: Sucesión Fibonacci [Batch] Publicado por: leogtz en 10 Abril 2009, 20:22 pm Gracias, 0x0309
Un amigo me dijó que no necesitaba tantas variables, que si mucho con 4 se podía hacer, pero ya le expliqué que lo había en Batch y dijó : "Ah, ok" Pensó que la hicé en C :D Por cierto, recuerdas cual era el limite para almacenar?, hace muchisimo vi que lo posteaste pero lo olvidé. Saludos. Título: Re: Sucesión Fibonacci [Batch] Publicado por: 0x0309 en 14 Abril 2009, 09:39 am Leo, el límite para cmd.exe es 32 bits de amplitud o ancho. Así:
11111111111111111111111111111111 notación binaria: 32 bits o flags. es en notación decimal: 4294967295 Ahora, el rango abarca números negativos y positivos, por lo que queda así: -2147483648 a 2147483647 Hice una función que suma números en formato cadena de caracteres, para que así la sucesión no quede negativa. Título: Re: Sucesión Fibonacci [Batch] Publicado por: 0x0309 en 14 Abril 2009, 09:50 am aqui una versión con la funcion suma:
Código: @echo off lista generada: Código: 0 Título: Re: Sucesión Fibonacci [Batch] Publicado por: leogtz en 14 Abril 2009, 19:39 pm Simplemente excelente, 0x0309.
Saludos. Título: Re: Sucesión Fibonacci [Batch] Publicado por: Martin-Ph03n1X en 14 Abril 2009, 20:36 pm jajaja no entendi pero en un ratito se genero un codigo ALTO 39043184998122354968635474677330498542864661988399598709411830703425204209650825
540787157763668286722 63173200356011969809443437297358849022080673265589795452673441480303628721313666 802004216758598573763 10221638535413432477807891197468934756494533525398939416208527218372883293096449 2342791374522266860485 16538958571014629458752234927204819658702600851957918961475871366403246165227815 9144795591280865434248 26760597106428061936560126124673754415197134377356858377684398584776129458324265 1487586965803132294733 43299555677442691395312361051878574073899735229314777339160269951179375623552081 0632382557083997728981 70060152783870753331872487176552328489096869606671635716844668535955505081876346 2119969522887130023714 11335970846131344472718484822843090256299660483598641305600493848713488070542842 72752352079971127752695 18341986124518419805905733540498323105209347444265804877284960702309038578730477 34872321602858257776409 29677956970649764278624218363341413361509007927864446182885454551022526649273320 07624673682829385529104 48019943095168184084529951903839736466718355372130251060170415253331565228003797 42496995285687643305513 Título: Re: Sucesión Fibonacci [Batch] {Actualizado} Publicado por: leogtz en 15 Junio 2009, 05:26 am Más optimizado, menos variables.
Código Título: Re: Sucesión Fibonacci [Batch] Publicado por: Darioxhcx en 15 Junio 2009, 08:38 am tengo una duda..
no tiene que ver con el codigo.. lo vi y me gusta y esta bueno... pero la duda que tengo es si dependiendo el sistema x ejemplo sea 32 o 64 bits... te permitira trabajar con cifras mas grandes como pasa con php un sistema de 64 permite mas que uno de 32 alguien probo algo en 32 y 64 ? puede ser que cambien en cuanto a eso o no ? un saludo Título: Re: Sucesión Fibonacci [Batch] Publicado por: askrator en 15 Junio 2009, 13:23 pm Mas corto aun:
Termino n = 1/raiz(5) * [(1+raiz(5)/2)^n-(1-raiz(5)/2)^n] PD: La raiz es cuadrada. Saludos. Título: Re: Sucesión Fibonacci [Batch] Publicado por: leogtz en 15 Junio 2009, 17:26 pm Mas corto aun: Termino n = 1/raiz(5) * [(1+raiz(5)/2)^n-(1-raiz(5)/2)^n] PD: La raiz es cuadrada. Saludos. Bien, pero lamentablemente no poseemos soporte para numeros decimales. |