Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Echo Off&title Solucion Reto #94-Primos WOW Sinfocol
- ::Solucion del Reto "94 - PRIMOS" de World of Wargame de Sinfocol
- ::Coded by SmartGenius
- Setlocal Enabledelayedexpansion
- Set "Msg=009 020 086 033 009 020 024 038 086 021 032 027 006 015 009 020 001 012 024 086 014 015 022 008 032 086 006 024 021 015 001 086 010 009 020 015 038 086 006 001 027 008 015 020 020 024 086 036 086 018 015 034 015 087 086 020 001 086 006 015 012 032 009 022 001 086 030 024 006 001 004 001 086 009 020 086 028 001 035 024 010 024 022 086 008 009 030 027 001 028 086 008 009 020 086 025 001 020 009 022 026 032 009 086 008 009 086 025 001 016 001 087 086 027 045 063 058 065 045 063 064 039 086 006 050 046 062 039 044 057 006 057 056 022 065 055 045 062 057 063 022 057 025 062 050 055 057 063 076 074 075 074"
- :: Este diccionario se hace en base al texto del reto que dice que se debe
- :: usar mayusculas, minusculas, espacio y punto.
- Set "Dic=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 ."
- Echo.
- Echo. Por favor espere....
- Echo. Calculando Numeros NO primos
- :NoPrimos
- ::Calcular Numeros NO Primos del Rango 1 a 100
- Set "NP=1"
- For /l %%N in (2,1,100) do (
- Call :EsPrimo %%N
- If "!S!"=="F" (Set "NP=!NP!,%%N")
- )
- REM Echo. Numeros No Primos = %NP%
- ::Armar Parejas de Numero_NO_Primo;Caracter_del_Diccionario
- Echo. Creando Parejas de Equivalencias
- Set /a "Pair=0"
- For %%M in (%NP%) do (
- Set "Tmp=00%%M"
- Call Set "Pair[!Pair!]=!Tmp:~-3!;%%Dic:~!Pair!,1%%"
- Set /a "Pair+=1"
- )
- REM Set Pair[
- Echo. Decodificando el mensaje
- Call :Decode %Msg%
- Echo.
- Echo. Resultado = %Result%
- Echo.
- Pause
- exit /b 0
- :Decode
- If ["%~1"]==[""] (Goto :Eof)
- For /f "tokens=1,2 delims=;" %%C in ('Set Pair[^|Find "%1"') do (Set "Result=!Result!%%D")
- Shift
- Goto :Decode
- :EsPrimo
- Set "D="
- Set "M=%1"
- for /l %%_ in (1,1,%M%) do (
- set /a "O=%M%%%%%_"
- if !O! equ 0 set /a "D+=1")
- if %D% equ 2 (Set S=T) else (Set "S=F")
- Goto :Eof
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement