REtos batch

Iniciado por ELVJop, 23 Abril 2012, 18:57 PM

0 Miembros y 1 Visitante están viendo este tema.

Puntoinfinito

Pues aun tienes faena con otros Retos.. xD
AHORA EN SOFTONIC || CLICK HERE!!
Base64: QWNhYmFzIGRlIHBlcmRlciAxIG1pbnV0byBkZSB0dSB2aWRhLiBPbOkh



HACK AND 1337 : http://hackandleet.blogspot.com
WEBSITE: http://www.infiniterware.

ELVJop

#41
AVISO URGENTE: NO SE ACEPTAN MAS RETOS (por mi parte)

Perdon  por el abuso de mayusculas y el exesivo color y letra pero esqie voy hasta el cuello termino un reto vengo aqui tengo 3 o 4 mas. Y recuerdo que la idea es mia pero que los que quieran hacer un reto pueden hacerlo y postearlo aqui sin ningun problema.

PD: Hoy me tomo el dia libre que no tengo ganas de meterme en retos tengo un proyecto personal.
El dia 3 de mayo esta cuenta sera borrada.

Puntoinfinito

Tu mismo hiciste el post, acepta las consecuencias, la gente es muy competitiva :/

Saluudos (Sin mala fe eh)
AHORA EN SOFTONIC || CLICK HERE!!
Base64: QWNhYmFzIGRlIHBlcmRlciAxIG1pbnV0byBkZSB0dSB2aWRhLiBPbOkh



HACK AND 1337 : http://hackandleet.blogspot.com
WEBSITE: http://www.infiniterware.

$Edu$

Yo quiero ver mi reto

ELVJop

Ya se que hice yo el post pero pensaba que no tendria tanto exito mira estamos por la 4ª pagina en 2 dias como el que dice no todos lso post son retos pero... Piensa que esto lo hice para practicar y para aprender cosas nuevas por el camino y me estais poniendo retos que se me escapan un poco por ejemplo el de Edu fue perfecto aprendi a usar %0 y me fue muy bien pero por ejemplo un generador de numeros primos es muy dificil encontrar una relación entre todos esos numeros.

PD: Edu tranquilo me metere en ese ordenador hacia las 8 quizas. mira el otro PD de mi otro post
El dia 3 de mayo esta cuenta sera borrada.

Stakewinner00

Cita de: ELVJop en 25 Abril 2012, 17:29 PM
pero por ejemplo un generador de numeros primos es muy dificil encontrar una relación entre todos esos numeros.

PD: Edu tranquilo me metere en ese ordenador hacia las 8 quizas. mira el otro PD de mi otro post

Mira un dia un amigo me dijo mira que codigo que he creado para sacar numeros primos.

Si ponias que generase 10 numeros primos bien pero si ponias 999 hiva muy lento entonces con %random% y unos if consegui hacer que generase numeros primos aleatorios el doble de rapido.

Si kieres puedo postear el codigo que uso mi amigo y tu intentas mejorarlo para que genere numeros mas rapidos.

Runex

Cita de: puntoinfinito en 25 Abril 2012, 17:57 PM
Yo también quiero mi reto... Es de lo más fácil que hay...

Y más cuando he dejado yo el algoritmo escrito XD
"No renunciaría al bambú.
Nunca renuciaría a ti.
No te compares con otros" "El me dijo:
El bambú tenía un propósito diferente al del
helecho, sin embargo eran necesarios y
hacían del bosque un lugar hermoso".

Eleкtro

ya que nadie hace mi reto y me aburro :( me apunto al reto del generador de números primos!  :xD


Código (dos) [Seleccionar]
@Echo off
Title Prime Number Generator
Setlocal enabledelayedexpansion

:: By Elektro H@cker
::
:: Generador de números primos.
::
Set MinRange=2
Set MaxRange=1000
:: :: :: :: ::

:Calc
Set /A MinRange+=1
Set /A Matches=0

FOR /L %%# IN (2,1,!MinRange!) DO (
FOR /L %%X IN (2,1,!MinRange!) DO (
Set /A Result=%%#*%%X
If !Result! EQU !MinRange! (Goto :Calc)
)
)

If !MinRange! GTR !MaxRange! (Pause>nul) ELSE (<Nul Set /P=%MinRange%,)
Goto :Calc




Lo que hace es una comprobación de cada número (1,2,3,4,5,6,7,8,9,10,etc... hasta llegar al límite de rango)

Por ejemplo la comprobación del número 13 sería:
- obtener todos los números desde el "2" hasta el "12" e ir multiplicando uno a uno para ver si alguno coincide con el "13".
Ejemplo: 2x1, 2x2, 2x3, 2x3...2x13     12x1, 12x2, 12x3...12x13   etc...
Si encuentra la primera coincidencia deja de hacer más (Para que no tarde una eternidad). Si no hay ninguna coincidencia, Obviamente el número es primo.

PD: Cuanto mayor es el número a comprobar, Más tiempo va a tardar ya que tiene que realizar más multiplicaciones (Solo para los números primos).

PD2: Me he mirado está lista para comprobar que hice todo bien, Repito que las matemáticas no son lo mio :P, Seguro que hay métodos mejores.
http://www.addedbytes.com/blog/prime-numbers/




Aquí una versión alternativa que no tarda ni 5 segundos en obtener los primos hasta el número 10.000 xDDDDDD  :silbar:

Código (dos) [Seleccionar]
@Echo OFF
Title Prime Number Generator
REM   Versión NOOB XD

:: By Elektro H@cker
::
:: Obtiene una lista de números primos desde el número 2 hasta el número 10.000
:: Nota: Es necesario WGET para usarlo.

wget -help >NUL || Exit /B 1

Setlocal enabledelayedexpansion
WGET -q "http://www.addedbytes.com/blog/prime-numbers/" -O "%TEMP%\Primes.html"


For /F "Tokens=*" %%a in ('Type "%TEMP%\Primes.html" ^| Find "<li"') do (
Set "Numbers=%%a"
Set "Numbers=!Numbers:</li>>=!"
Set "Numbers=!Numbers:</li><li>=, !"
Set "Numbers=!Numbers:<ul><li>=!"
Set "Numbers=!Numbers:</li></ul>=!"
Echo "!NUMBERS!" | FINDSTR ",.[0-9]" 2>NUL
)
Pause
Exit




Salu2!








Stakewinner00

#48
solo con bat el primer code los genera lento yo cree este


@echo off
:anteinicio
set /p t=cuantos primos quieres?=
if %t% lss 3 (echo su numero tiene que ser mayor que 2) else (goto seguir)
pause
exit
:seguir
set ee=%random%
if %ee:~-1%==2 goto seguir
if %ee:~-1%==4 goto seguir
if %ee:~-1%==6 goto seguir
if %ee:~-1%==8 goto seguir
if %ee:~-1%==0 goto seguir
echo %ee%
set /a t=t-1
if %t%== 0 (pause) else (goto seguir)


los genera rapido usando solo batch
creo k este code es el mas rapido usando solo batch. XD

Runex

#49
Cita de: EleKtro H@cker en 25 Abril 2012, 19:48 PM
ya que nadie hace mi reto y me aburro :( me apunto al reto del generador de números primos!  :xD


Código (dos) [Seleccionar]
@Echo off
Title Prime Number Generator
Setlocal enabledelayedexpansion

:: By Elektro H@cker
::
:: Generador de números primos.
::
Set MinRange=2
Set MaxRange=1000
:: :: :: :: ::

:Calc
Set /A MinRange+=1
Set /A Matches=0

FOR /L %%# IN (2,1,!MinRange!) DO (
FOR /L %%X IN (2,1,!MinRange!) DO (
Set /A Result=%%#*%%X
If !Result! EQU !MinRange! (Goto :Calc)
)
)

If !MinRange! GTR !MaxRange! (Pause>nul) ELSE (<Nul Set /P=%MinRange%,)
Goto :Calc




Lo que hace es una comprobación de cada número (1,2,3,4,5,6,7,8,9,10,etc... hasta llegar al límite de rango)

Por ejemplo la comprobación del número 13 sería:
- obtener todos los números desde el "2" hasta el "12" e ir multiplicando uno a uno para ver si alguno coincide con el "13".
Ejemplo: 2x1, 2x2, 2x3, 2x3...2x13     12x1, 12x2, 12x3...12x13   etc...
Si encuentra la primera coincidencia deja de hacer más (Para que no tarde una eternidad). Si no hay ninguna coincidencia, Obviamente el número es primo.

PD: Cuanto mayor es el número a comprobar, Más tiempo va a tardar ya que tiene que realizar más multiplicaciones (Solo para los números primos).

PD2: Me he mirado está lista para comprobar que hice todo bien, Repito que las matemáticas no son lo mio :P, Seguro que hay métodos mejores.
http://www.addedbytes.com/blog/prime-numbers/




Aquí una versión alternativa que no tarda ni 5 segundos en obtener los primos hasta el número 10.000 xDDDDDD  :silbar:

Código (dos) [Seleccionar]
@Echo OFF
Title Prime Number Generator
REM   Versión NOOB XD

:: By Elektro H@cker
::
:: Obtiene una lista de números primos desde el número 2 hasta el número 10.000
:: Nota: Es necesario WGET para usarlo.

wget -help >NUL || Exit /B 1

Setlocal enabledelayedexpansion
WGET -q "http://www.addedbytes.com/blog/prime-numbers/" -O "%TEMP%\Primes.html"


For /F "Tokens=*" %%a in ('Type "%TEMP%\Primes.html" ^| Find "<li"') do (
Set "Numbers=%%a"
Set "Numbers=!Numbers:</li>>=!"
Set "Numbers=!Numbers:</li><li>=, !"
Set "Numbers=!Numbers:<ul><li>=!"
Set "Numbers=!Numbers:</li></ul>=!"
Echo "!NUMBERS!" | FINDSTR ",.[0-9]" 2>NUL
)
Pause
Exit




Salu2!

Elektro no he leido tu mensaje entero, pero no será más fácil dejarse de multiplicaciones, iniciar el bucle for desde 0 hasta el máximo de números primos que tu quieres, y hacer un condicional, que si el resto obtenido de dividirlo por 2 (módulo) es diferente de 0, imprima el número? ya que este será primo.

Lo he hecho en python y tarda apenas 4 segundos en sacar todos los primos de 0 hasta 100000, no sé si influirá la rapidez del lenguaje, pero pruébalo y me cuentas :)
"No renunciaría al bambú.
Nunca renuciaría a ti.
No te compares con otros" "El me dijo:
El bambú tenía un propósito diferente al del
helecho, sin embargo eran necesarios y
hacían del bosque un lugar hermoso".