elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  REtos batch
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: 1 2 3 4 5 [6] 7 8 9 Ir Abajo Respuesta Imprimir
Autor Tema: REtos batch  (Leído 32,901 veces)
Eleкtro
Ex-Staff
*
Conectado Conectado

Mensajes: 9.875



Ver Perfil
Re: REtos batch
« Respuesta #50 en: 25 Abril 2012, 20:25 pm »

Runex, Tienes razón, Entonces lo dejamos en un medio-fail, Ya que al menos cumple su propósito xD. (Y los retos son de Batch)
No leiste mi post entero, Bueno decía que seguro que había técnicas mejores y más rápidas, No soy un maestro de los números  :P.

PD: El lenguaje marca la diferencia, Te lo aseguro!
      Si tuvieras una lista de números primos del 1 al 1.000.000, y solo tuvieras que mostrarlos haciendo "FOR /F %%a in (Lista.txt) Do (Echo %%a)" (Sin realizar operaciones ni nada) Ya tardaría lo suyo ya... varios minutos. :xD

Saludos

EDITO: Esto demuestra la velocida (basura) de Batch:
Código
  1. @echo off
  2. Set START=%Time%
  3. FOR /L %%X IN (1,1,1000000) DO (Echo %%X)
  4. Set FINISH=%Time%
  5. Echo %START% ^| %FINISH%





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

Código:
@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

Está bueno.

Pero hay que mencionar que ese code es un generador aleatorio :P


« Última modificación: 25 Abril 2012, 20:49 pm por EleKtro H@cker » En línea



Puntoinfinito


Desconectado Desconectado

Mensajes: 919


#! /win/archlinux


Ver Perfil WWW
Re: REtos batch
« Respuesta #51 en: 25 Abril 2012, 21:30 pm »

//sea N el numeroal quele quieras hallar el numero de digitos
int contador =0 // te dia cuantos digitos tiene tu numero N

while( N>=1 )
{
N=N/10;
contador=contador+1;
}

Ese es el algoritmo para sacarlo :), no lo aplico en batch porque uso debian
Bien, bien :D
¿Te atreves con el Segundo?
¿O  intentas el primero con BATCH?


En línea

AHORA EN SOFTONIC || CLICK HERE!!
Base64: QWNhYmFzIGRlIHBlcmRlciAxIG1pbnV0byBkZSB0dSB2aWRhLiBPbOkh



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


Desconectado Desconectado

Mensajes: 1.674



Ver Perfil
Re: REtos batch
« Respuesta #52 en: 25 Abril 2012, 22:05 pm »

Buenas.

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.

Un pequeño apunte, ese cálculo indicará si es impar o no, pero no necesariamente que sea primo:

Ejemplos: 11 mod 2 <> 0 Impar y primo   
               33 mod 2 <> 0 Impar pero no primo (es divisible por 11,3)

Saludos.
En línea

- Nice to see you again -
ELVJop

Desconectado Desconectado

Mensajes: 132



Ver Perfil
Re: REtos batch
« Respuesta #53 en: 25 Abril 2012, 23:11 pm »

Informo edu que por razones que no vienen al caso n o me pude poner en el ordenador mañana sera 99,9 % seguro XD (Hice este post por aburrimiento y ya tiene 1,026 visitas... Si fueran las visitas que tiene mi blog me quedaria flipado :o
En línea

El dia 3 de mayo esta cuenta sera borrada.
Runex

Desconectado Desconectado

Mensajes: 192


http://tutogramacion.blogspot.com


Ver Perfil WWW
Re: REtos batch
« Respuesta #54 en: 28 Abril 2012, 02:13 am »

Bien, bien :D
¿Te atreves con el Segundo?
¿O  intentas el primero con BATCH?


Código
  1. echo Introduce numero
  2. set /p numero=
  3. if %numero%>1 && %numero%<10 echo 1 digito
  4. if %numero%>10 && %numero%<100 echo 2 digitos
  5. if %numero%>100 && %numero%<1000 echo 3 digitos
  6. if %numero%>1000 && %numero%<10000 echo 4 digitos
  7. ...
  8. Pause>Nul

Esto sería otra soluciíón a tu problema, pudiendo añadir la cantidad de dígitos que tu quieras.

No sé si funcionará porque no lo he podido probar además, yo de batch poca idea tengo  :-\

Un saludo :)
En línea

"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
Ex-Staff
*
Conectado Conectado

Mensajes: 9.875



Ver Perfil
Re: REtos batch
« Respuesta #55 en: 28 Abril 2012, 03:48 am »

Código
  1. if %numero%>1 && %numero%<10 echo 1 digito
  2. ...
  3. Pause>Nul

No sé si funcionará porque no lo he podido probar además, yo de batch poca idea tengo  :-\


No no se puede hacer una comprobación de multiples condiciones (Bueno, No como se haría en PY u otro xD) en Batch. Además ">" y "&" "&&" tampoco son operadores de comparación.  :P

Pero tampoco ibas muy mal encaminado, Quedaría así:
Código
  1. @Echo OFF
  2.  
  3. :Loop
  4. set /p numero=Numero ^>
  5. if %numero% LSS 10   (Echo 1 digito)
  6. if %numero% GEQ 10   (If %numero% LSS 100   (echo 2 digitos))
  7. if %numero% GEQ 100  (If %numero% LSS 1000  (echo 3 digitos))
  8. if %numero% GEQ 1000 (If %numero% LSS 10000 (echo 4 digitos))
  9. Goto :Loop

Aunque esta forma es mejor para evitar limitaciones y código...:
Código
  1. @Echo OFF
  2.  
  3. :Loop
  4. set /p numero=Numero ^>
  5. ECHO %Numero% > "%TEMP%\tempfile.txt"
  6. FOR %%? IN ("%TEMP%\tempfile.txt") DO ( SET /A digitos=%%~z? - 3 )
  7. Echo          %numero% tiene %digitos% digitos.
  8. Goto :Loop

Salu2
En línea



Puntoinfinito


Desconectado Desconectado

Mensajes: 919


#! /win/archlinux


Ver Perfil WWW
Re: REtos batch
« Respuesta #56 en: 28 Abril 2012, 11:39 am »

¡Muy bien!
Mirad yo lo lo hicé de diferente forma:
Citar
@ECHO OFF
SET/P"D= Numero:\> "
FOR /F "TOKENS=1,2 DELIMS=.," %%A IN ("%D%") DO (
   CALL:C "%%A" "P.Entera"
   IF "%%B" NEQ "" (CALL:C "%%B" "P.Decimal")
)
Pause>Nul&Exit
:C
   SET/P"=%~1"<NUL>>..Tmp
   FOR %%Z IN ("%CD%\..Tmp") DO (SET/P"=%~2:%%~zZ   "<NUL)
   DEL "..Tmp"
EXIT/B0

¿Sois capaces de pasar la segunda prueba?

En línea

AHORA EN SOFTONIC || CLICK HERE!!
Base64: QWNhYmFzIGRlIHBlcmRlciAxIG1pbnV0byBkZSB0dSB2aWRhLiBPbOkh



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


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: REtos batch
« Respuesta #57 en: 28 Abril 2012, 16:39 pm »

Buenas.

Un pequeño apunte, ese cálculo indicará si es impar o no, pero no necesariamente que sea primo:

Ejemplos: 11 mod 2 <> 0 Impar y primo   
               33 mod 2 <> 0 Impar pero no primo (es divisible por 11,3)

Saludos.


Tiene razon, y yo ya dije creo, que si no saben muy bien matematicas hagan otros retos xDD por algo lo dije xD, estan re confundidos en lo que es numero primo. No vale la pena ni discutir como dije xD mas vale sigan con otros retos jeje.

ELVJop, se que no vere mi codigo nunca, pero no me molesta, te tendria que molestar a vos xD

El post tiene muchas visitas porque estos retos son los que mandan en la universidad y todo el mundo los esta buscando en este momento xD, tambien mucha gente que busca retos en batch en general xD

No se entiende nada el tema este, para mi que hay que cerrarlo Electro y podes crear un tema nuevo solo para que dejen ideas de retos y nada mas, sin comentarios extras y luego de ahi sacas los mejores retos para ponerlos en un tema con chincheta donde lo resolveran los que quieran, mandando codigo por privado a vos xDD si es que te gustaria jeje
En línea

ELVJop

Desconectado Desconectado

Mensajes: 132



Ver Perfil
Re: REtos batch
« Respuesta #58 en: 28 Abril 2012, 17:21 pm »

Buena idea ahora te lo pondre pero estoy muy metido en eso de mi programa de actualizarlo y creo que ya lo te lo dare en otro momento estoy apunto de terminarlo
$Edu$
Descargalo de aqui: Borro link porque tengo ganas. Lo descomprimes y lo ejecutas con permiso de adminsitrador
« Última modificación: 29 Abril 2012, 23:04 pm por ELVJop » En línea

El dia 3 de mayo esta cuenta sera borrada.
$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: REtos batch
« Respuesta #59 en: 29 Abril 2012, 20:30 pm »

Lo probaste aunquesea? abre como 10 ventanas y no se copia nada, cualquier cosa. Yo me dedicaria a otra cosa, porque si vienes a pedir retos es porque sientes que ya sabes manejarte en Batch, asi que tendrias que saber cosas basicas aunquesea, eres malo en esto la verdad. Te lo digo tan asi para ver si te pones a aprender de verdad y recien cuando aprendas vienes a hacer retos.

"Algunos simplemente no sirven para esto"
En línea

Páginas: 1 2 3 4 5 [6] 7 8 9 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Retos
Desafíos - Wargames
@synthesize 8 9,636 Último mensaje 13 Junio 2010, 04:24 am
por @synthesize
Retos C/C++ « 1 2 ... 8 9 »
Ejercicios
[L]ord [R]NA 85 55,353 Último mensaje 3 Octubre 2010, 16:57 pm
por Komodo
Retos .Net « 1 2 3 »
Ejercicios
[D4N93R] 20 20,007 Último mensaje 6 Diciembre 2010, 03:26 am
por final_frontier
¿Quieren retos de Batch? « 1 2 »
Scripting
Eleкtro 18 8,276 Último mensaje 5 Mayo 2012, 08:27 am
por Eleкtro
[Batch] Insertar un batch dentro de un batch que fabrique un .txt
Scripting
$pedrojo2704 2 6,298 Último mensaje 23 Agosto 2012, 10:08 am
por $pedrojo2704
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines