Autor
|
Tema: [Reto Batch] IsFibonacciNumber (79137913) (Leído 8,205 veces)
|
79137913
Desconectado
Mensajes: 1.169
4 Esquinas
|
HOLA!!! Tardaron mucho en responder aqui esta mi solucion... Analicen el codigo: ECHO VERIFICADOR DE NUMEROS PRIMOS POR 79137913 ECHO Entrada:1 2 3 4 5 6 7 8 9 10 11 12 13 ECHO Salida: 1 1 1 0 1 0 0 1 0 0 0 0 1 SET /P N=INSERTE UNA CADENA DE NUMEROS A VERIFICAR SEPARADOS POR UN ESPACIO: :NEXTNUM :NEXTCHAR :EMPIEZA :POSITIVO :NEGATIVO :ISFIB :SHOWNUMS CLS :CHECKROOT CLS IF !SQR!==% style="color: #448888;">DEND% (SET EXACTO=1) )
por las dudas pastebin http://pastebin.com/vW61JYziGRACIAS POR LEER!!!
|
|
|
En línea
|
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!" "La peor de las ignorancias es no saber corregirlas"
79137913 *Shadow Scouts Team*
|
|
|
BatchianoISpyxolo
Desconectado
Mensajes: 166
|
Una instantánea del funcionamiento: Y el código: @echo off setlocal enabledelayedexpansion echo. Introduzca una secuencia de enteros (separados por espacios) echo. para verificar si pertenencen a la sucesion de Fibonacci. echo. set /p seq=Secuencia: set /a i=0 set "SALIDA=" :seq if "!seq:~%i%,1!" NEQ "" ( if "!seq:~%i%,1!" NEQ " " ( set num=!num!!seq:~%i%,1! ) else ( call :NUMERO !num! set "num=" ) set /a i+=1 goto seq ) else ( call :NUMERO !num! ) echo Salida: !SALIDA! pause&exit/b
:NUMERO set /a NUMERO=%1 set /a inc=0 :GS call :SucesionFibonacci !inc! if !NUMERO! GTR !f1! (set /a inc+=1 & goto GS) if !NUMERO! EQU !f1! ( set SALIDA=!SALIDA! 1 ) else ( set SALIDA=!SALIDA! 0 )
:SucesionFibonacci set /a N=%1 set /a f0=0 set /a f1=1 for /l %%S in (1,1,!N!) do ( set /a f=!f0!+!f1! set /a f0=!f1! set /a f1=!f! )
|
|
« Última modificación: 14 Mayo 2012, 16:28 pm por Batchiano »
|
En línea
|
|
|
|
79137913
Desconectado
Mensajes: 1.169
4 Esquinas
|
HOLA!!!
Genial, ahora hace que devuelva la respuesta en una sola linea de ceros y unos y estas!
GRACIAS POR LEER!!!
|
|
|
En línea
|
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!" "La peor de las ignorancias es no saber corregirlas"
79137913 *Shadow Scouts Team*
|
|
|
BatchianoISpyxolo
Desconectado
Mensajes: 166
|
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**
|
|
|
En línea
|
|
|
|
Binary_Death
Desconectado
Mensajes: 214
|
Aquí está mi solución: @Echo Off setlocal enableextensions enabledelayedexpansion set /p "seq=-Input >> " set "b_s=" & set /a bgr=0 for %%_ in (%seq%) do if %%_ GTR !bgr! set/a bgr=%%_ call:_fib %bgr% for %%_ in (%seq%) do ( 1>nul 2>&1, (echo:%f_s%|find "$%%_$") && ( set "b_s=!b_s! 1" ) || ( set "b_s=!b_s! 0" ) ) echo:-Output ^>^>%b_s% pause 1>nul & exit :_fib set "f_s=$1$" set/a f_n=1,s_n=2 for /l %%_ in (1,1,%~1) do ( set/a n_n=!f_n!+!s_n! set/a f_n=!s_n!,s_n=!n_n! set "f_s=!f_s!$!n_n!$" if !n_n! geq %~1 goto :eof ) goto :eof
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
|
|
« Última modificación: 22 Julio 2012, 03:19 am por Binary_Death »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[RETO] IsFibonacciNumber(N as long) as Boolean
« 1 2 3 »
Programación Visual Basic
|
79137913
|
28
|
14,885
|
16 Febrero 2011, 19:04 pm
por 79137913
|
|
|
[Reto Batch] Jugando con la IP I
« 1 2 »
Scripting
|
Eleкtro
|
10
|
7,051
|
10 Mayo 2012, 17:24 pm
por 79137913
|
|
|
[Reto Batch] It's a dir?
« 1 2 3 4 »
Scripting
|
Eleкtro
|
30
|
20,655
|
31 Marzo 2014, 18:13 pm
por Shell Root
|
|
|
[Reto Batch] VIRUS HELLO !!
« 1 2 »
Scripting
|
Eleкtro
|
10
|
8,254
|
22 Julio 2012, 00:32 am
por Binary_Death
|
|
|
[Reto Batch]Buscame en el log
« 1 2 »
Scripting
|
Puntoinfinito
|
10
|
6,421
|
18 Julio 2012, 16:50 pm
por Puntoinfinito
|
|