Título: [Reto Batch] IsFibonacciNumber (79137913) Publicado por: Eleкtro en 5 Mayo 2012, 12:39 pm Aquí pueden comentar todo lo que quieran, sus dudas, avances o soluciones acerca del siguiente reto:
Reto iniciado por 79137913 Reto Nº 5 Nombre: IsFibonacciNumber (79137913) Dificultad: 7/10 Objetivo: Crear un bat que pida un número o una serie de números, Y que compruebe si pertenecen a la secuencia de Fibbonacci Ejemplo: Entrada 1 2 3 4 5 6 7 8 9 10 11 12 13 Salida: 1 1 1 0 1 0 0 1 0 0 0 0 1 Título: Re: [Reto Batch] IsFibonacciNumber (79137913) Publicado por: -- KiLiaN -- en 5 Mayo 2012, 18:29 pm Cuanto de larga tiene que ser la cadena? La salida que es binario o que? xD
Título: Re: [Reto Batch] IsFibonacciNumber (79137913) Publicado por: Eleкtro en 5 Mayo 2012, 18:38 pm Cuanto de larga tiene que ser la cadena? La salida que es binario o que? xD La idea me la mandó "79137913" por mp, sin muchos más datos... No se si entendiste esta parte :P, El bat tiene que comprobar un número (O una cadena de números) introducida por el usuario, osea que supongo que vale cualquier número que el user typee... Lo del 1 y el 0 se entiende: 1 = TRUE 0 = FALSE Título: Re: [Reto Batch] IsFibonacciNumber (79137913) Publicado por: -- KiLiaN -- en 5 Mayo 2012, 18:39 pm Citar Lo del 1 y el 0 se entiende: 1 = TRUE 0 = FALSE Se entiende, ahora xD Título: Re: [Reto Batch] IsFibonacciNumber (79137913) Publicado por: Puntoinfinito en 5 Mayo 2012, 22:30 pm La serie que debes poner ha de tener una capacidad máxima, o la entrada es infinita?
Título: Re: [Reto Batch] IsFibonacciNumber (79137913) Publicado por: $Edu$ en 5 Mayo 2012, 22:41 pm Jeje ta bueno este reto. Mientras que las variables en batch o las entradas sean sin limite, la serie tambien.
La idea es que ande para todos los tamaños de entradas que puedan. No soy el que dijo el reto, pero pensando como se haria, no hay problema en eso. Cuando un ejercicio te dicen hacer un programa para separar palabras de una frase, no creo que hagas un programa exactamente para cuando ingresan una frase de 10 de tamaño solamente, sino generico. Título: Re: [Reto Batch] IsFibonacciNumber (79137913) Publicado por: Eleкtro en 6 Mayo 2012, 07:15 am Pfff, difícil... Esto para mi es todo un reto en Batch :/ Sinceramente, No se me ocurre como calcular la operación xD Título: Re: [Reto Batch] IsFibonacciNumber (79137913) Publicado por: BatchianoISpyxolo en 6 Mayo 2012, 15:01 pm A ver, el proceso teórico sería...
Teniendo en cuenta que la sucesión de Fibonacci se define recursivamente como: Si n=0 v n=1, entonces f(n)=1 Si no, f(n)=f(n-1)+f(n-2) Llamemos h a cada elemento de la secuencia U dada por el usuario. La secuencia puede tener uno o más elementos y debe ser finita. Llamemos F al conjunto de Naturales de la sucesión de Fibonacci. Entonces, teniendo en cuenta que la sucesión de Fibonacci es una lista de números en orden ascendente, podemos realizar un bucle para i=1 hasta k de tal manera que si f(i) = h, podemos afirmar que cierto h pertenece a la secuencia de Fibonnaci, por lo tanto, TRUE (1). Por otra parte si f(i) > h, podemos afirmar que, como LA SECUENCIA DE FIBONACCI ES CRECIENTE, cierto h no pertenece F, por tanto devolvemos FALSE (0) Título: Re: [Reto Batch] IsFibonacciNumber (79137913) Publicado por: raul338 en 6 Mayo 2012, 17:31 pm che muchos retos batch de una :P
Reto iniciado por 79137913 Da la casualidad que el mismo inicio el mismo reto en la sección vb, por si alguien quiere ver :P[RETO] IsFibonacciNumber(N as long) as Boolean (http://foro.elhacker.net/programacion_visual_basic/reto_isfibonaccinumbern_as_long-t319480.0.html) Título: Re: [Reto Batch] IsFibonacciNumber (79137913) Publicado por: BatchianoISpyxolo en 6 Mayo 2012, 17:54 pm che muchos retos batch de una :P Da la casualidad que el mismo inicio el mismo reto en la sección vb, por si alguien quiere ver :P [RETO] IsFibonacciNumber(N as long) as Boolean (http://foro.elhacker.net/programacion_visual_basic/reto_isfibonaccinumbern_as_long-t319480.0.html) Gracias por la info... En vbs supongo que se puede aplicar recursión a funciones por eso se ve lindo jaja... pero en Batch creo que no se puede. ¡Gracias que se pueden crear funciones :lol: Saludos... A ver si algún día me apetece y me pongo con vbs XD Título: Re: [Reto Batch] IsFibonacciNumber (79137913) Publicado por: 79137913 en 9 Mayo 2012, 18:37 pm HOLA!!!
Tardaron mucho en responder aqui esta mi solucion... Analicen el codigo: Código
por las dudas pastebin http://pastebin.com/vW61JYzi GRACIAS POR LEER!!! Título: Re: [Reto Batch] IsFibonacciNumber (79137913) Publicado por: BatchianoISpyxolo en 14 Mayo 2012, 15:15 pm Una instantánea del funcionamiento:
(http://img560.imageshack.us/img560/9582/fibor.png) Y el código: Código: @echo off Título: Re: [Reto Batch] IsFibonacciNumber (79137913) Publicado por: 79137913 en 14 Mayo 2012, 15:56 pm HOLA!!!
Genial, ahora hace que devuelva la respuesta en una sola linea de ceros y unos y estas! GRACIAS POR LEER!!! Título: Re: [Reto Batch] IsFibonacciNumber (79137913) Publicado por: BatchianoISpyxolo en 14 Mayo 2012, 16:28 pm HOLA!!! Genial, ahora hace que devuelva la respuesta en una sola linea de ceros y unos y estas! GRACIAS POR LEER!!! Ya concatené la salida -_- XD **CODE EDITADO** Título: Re: [Reto Batch] IsFibonacciNumber (79137913) Publicado por: Binary_Death en 22 Julio 2012, 03:00 am Aquí está mi solución:
Código: @Echo Off Creo poder hacer un método más rápido... pero no me lo permiten mis escasos conocimientos de matemáticas (¡que aunque se me den bien, todavía recién acabé 4º de ESO!). Posteé en un foro una duda relacionada, si me la solucionan, podré hacer un algoritmo más eficiente. Mientras, queda esto :xD |