Autor
|
Tema: Sucesión Fibonacci [Batch] (Leído 15,323 veces)
|
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
Desconectado
Mensajes: 3.069
/^$/
|
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: En matemáticas, la sucesión de Fibonacci es la siguiente sucesión infinita de números naturales: 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. De Wikipedia. :code set /p "numero=Numero : " echo.Error, numero negativo. set /p ,=Pulse Enter para volver. ) for /l %%_ in (1,1, %numero%) do (set "variable %%_=0" ) set /a "aumento_de_variable=3" :bucle set /a "variable %aumento_de_variable%= !variable% style="color: #448888;">token_uno%! + !variable% style="color: #448888;">token_dos%!" set /a "aumento_de_variable+=1" :end echo !variable% style="color: #448888;">%_! ) set /p =Teclee ENTER para salir.
Salida : Numero : 9 1 2 3 5 8 13 21 34 55 Teclee ENTER para salir. C:\>code Numero : 5 1 2 3 5 8 Teclee ENTER para salir. C:\>code Numero : 25 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 Teclee ENTER para salir. Saludos.
|
|
« Última modificación: 10 Abril 2009, 05:27 am por Leo Gutierrez. »
|
En línea
|
|
|
|
Littlehorse
All the world's a stage
Colaborador
Desconectado
Mensajes: 2.714
Nie Dam Sie
|
Por que del 46 en adelante dan numeros negativos?
|
|
|
En línea
|
An expert is a man who has made all the mistakes which can be made, in a very narrow field.
|
|
|
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
Desconectado
Mensajes: 3.069
/^$/
|
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:\>timethis fibonacci 46
TimeThis : Command Line : fibonacci 46 TimeThis : Start Time : Thu Apr 09 20:50:06 2009
1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 12 1393 196418 317811 514229 832040 1346269 2178309 3524578 5702887 9227465 14930352 24157817 390881 69 63245986 102334155 165580141 267914296 433494437 701408733 1134903170 1836311903 -1323752223 TimeThis : Command Line : fibonacci 46 TimeThis : Start Time : Thu Apr 09 20:50:06 2009 TimeThis : End Time : Thu Apr 09 20:52:20 2009 TimeThis : Elapsed Time : 00:02:14.500
C:\> Mi codigo en Batch : C:\>timethis code.bat
TimeThis : Command Line : code.bat TimeThis : Start Time : Thu Apr 09 20:54:19 2009
Numero : 46 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 3524578 5702887 9227465 14930352 24157817 39088169 63245986 102334155 165580141 267914296 433494437 701408733 1134903170 1836311903 -1323752223 Teclee ENTER para salir.
TimeThis : Command Line : code.bat TimeThis : Start Time : Thu Apr 09 20:54:19 2009 TimeThis : End Time : Thu Apr 09 20:54:21 2009 TimeThis : Elapsed Time : 00:00:01.390
C:\> 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.
|
|
|
En línea
|
|
|
|
Littlehorse
All the world's a stage
Colaborador
Desconectado
Mensajes: 2.714
Nie Dam Sie
|
Mira. (Banca que ahi edito) 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
|
|
« Última modificación: 10 Abril 2009, 05:19 am por Littlehorse »
|
En línea
|
An expert is a man who has made all the mistakes which can be made, in a very narrow field.
|
|
|
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
Desconectado
Mensajes: 3.069
/^$/
|
Mira. (Banca que ahi edito) 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 Jaja, tal ves, es que lo hice con int´s, si lo hubiera hecho con long´s. Gracias por probar el codigo.
|
|
|
En línea
|
|
|
|
Littlehorse
All the world's a stage
Colaborador
Desconectado
Mensajes: 2.714
Nie Dam Sie
|
De nada! Che ese TimeThis lo hiciste vos?
|
|
|
En línea
|
An expert is a man who has made all the mistakes which can be made, in a very narrow field.
|
|
|
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
Desconectado
Mensajes: 3.069
/^$/
|
No, pertenece a el Windows 2000 Resource Kit Tool. http://www.microsoft.com/downloads/details.aspx?familyid=913795CD-7026-4143-AE85-1F5E096F9BE0&displaylang=en
|
|
|
En línea
|
|
|
|
Littlehorse
All the world's a stage
Colaborador
Desconectado
Mensajes: 2.714
Nie Dam Sie
|
Thx!
|
|
|
En línea
|
An expert is a man who has made all the mistakes which can be made, in a very narrow field.
|
|
|
0x0309
Desconectado
Mensajes: 215
|
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.
|
|
|
En línea
|
|
|
|
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
Desconectado
Mensajes: 3.069
/^$/
|
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 Por cierto, recuerdas cual era el limite para almacenar?, hace muchisimo vi que lo posteaste pero lo olvidé. Saludos.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[Código-Ruby]Sucesión Fibonacci - JaAViEr
Scripting
|
0x5d
|
0
|
2,775
|
8 Enero 2012, 08:57 am
por 0x5d
|
|
|
Cual es el proximo numero en la sucesion?
Dudas Generales
|
CATBro
|
2
|
8,312
|
5 Mayo 2012, 00:18 am
por CATBro
|
|
|
Duda en el código (porgrama sucesión de Fibonacci)
Programación C/C++
|
b_rabbit10
|
2
|
2,643
|
18 Febrero 2013, 22:15 pm
por b_rabbit10
|
|
|
Sucesion de Fibonacci recursiva optimizada
« 1 2 »
Programación C/C++
|
do-while
|
18
|
12,512
|
29 Julio 2013, 13:47 pm
por eferion
|
|
|
[Perl] Ejemplo de Sucesion Fibonacci
Scripting
|
BigBear
|
0
|
2,674
|
5 Diciembre 2014, 15:04 pm
por BigBear
|
|