Aquí pueden comentar todo lo que quieran, sus dudas, avances o soluciones acerca del siguiente reto:
Reto iniciado por
PuntoinfinitoReto Nº 2:
Nombre: Números II (
Puntoinfinito)
Dificultad: 4/10
Objetivo: Consiste en hacer un batch que al poner un numero neutral luego te diga los siguientes datos:
- El numero que has puesto
- Como seria invertido
- El numero mayor
- El menor numero
- Y finalmente que te diga todos los números pares de la serie
Pistas: Con la foto creo que os basta.
Ejemplo: (http://i49.tinypic.com/fdf3g6.png)
Se puede hacer en python? xD
#!/usr/bin/env python
# -*- coding: utf-8 -*-
numero = raw_input("Introduce un numero>")
lista = []
total = "0"
x = 0
for digito in numero:
lista.append(digito)
if int(digito) % 2 == 0:
total += digito
lista.sort()
invertido = 0
numero2 = int(numero)
while numero2>0:
invertido = invertido * 10 + numero2 % 10
numero2 /= 10
print "El invertido es: " + str(invertido)
print "El menor es: " + lista[0]
print "El mayor es: " + lista[len(lista)-1]
print "Los digitos pares son: " + total
Solución sucia xD. Sé que solo se puede en batch, pero no he visto la solución y me apetecía hacer retos de estos :)
Un saludo
Eis, yo tengo la respuesta en Batch.
¿Le paso a alguien, o no hace falta?
Salu2
Para que pasarles la solucion? xD la idea es que piensen o pregunten aca y vos los orientas si ves q estan muyyy perdidos
No lo digo para pasarle a elektro... xd
Venga va ánimos chicos!
Por cierto, la serie que escribir a de ser infinita :D (para hacerlo más difícil)
Yo tengo una duda, y es que ya se como hacerlo, es decir tengo la idea, pero no se como juzgar cuantos numeros hay, para despues leerlos al reves.
Saludos!
HOLA!!!
@ECHO OFF
SETlocal enabledelayedexpansion
SET /P N=INTRODUCE EL NUMERO:
SET /A MIN=9
SET /A MAX=0
SET NUM=0
:LOOP
call set CHAR=%%N:~%NUM%,1%%%
set /a NUM+=1
IF "%CHAR%" EQU "" (GOTO TERMINAR)
IF 1%CHAR% LSS 1%MIN% (SET /A MIN = %CHAR%)
IF 1%CHAR% GTR 1%MAX% (SET /A MAX = %CHAR%)
SET RN=%CHAR%%RN%
SET /A ISP= %CHAR% %% 2
IF %ISP% == 0 (CALL SET PARES=%PARES%%CHAR%)
GOTO LOOP
:TERMINAR
ECHO REVSTR:%RN% MIN:%MIN% MAX:%MAX% PARES:%PARES%
pause
GRACIAS POR LEER!!!
Ok ya me quedo claro :P
Saludos
Funcionamiento:
(http://img215.imageshack.us/img215/782/80212644.png)
::Batchiano :)
@echo off
setlocal enabledelayedexpansion
set /a i=0
set "pares="
set "invertido="
echo. -Analizar Numero-
set /p numero=Numero:
set /a MAYOR=!numero:~0,1!
set /a MENOR=!numero:~0,1!
:proceso
if "!numero:~%i%,1!" NEQ "" (
set /a value=!numero:~%i%,1!
set invertido=!value!!invertido!
set /a mod=!value! %% 2
if !mod! == 0 (
set pares=!pares!!value!
)
if !value! GTR !MAYOR! (
set /a MAYOR=!value!
) else (
if !value! LSS !MENOR! (
set /a MENOR=!value!
)
)
set /a i+=1
goto proceso
)
echo ^>^> Numero:!numero! ^| Invertido:!invertido! ^| Mayor:!MAYOR! ^| Menor:!MENOR! ^| Pares:!pares!
pause&exit/b
Mi solución a este reto:
@echo off
setlocal enabledelayedexpansion
set/p "num=Cifra >> "
set/a hst=0,lst=9
set "evn_lst=" & set "rev_lst="
for /f "tokens=* eol=" %%_ in (
'"cmd /u /c echo+%num%|more"'
) do (
set "rev_lst=%%_!rev_lst!"
if %%_ GTR !hst! set/a hst=%%_
if %%_ LSS !lst! set/a lst=%%_
set/a pry=%%_ %% 2
if !pry! EQU 0 set "evn_lst=!evn_lst!%%_"
)
more/c<nul
echo: Cifra: %num% ^| Invertido: %rev_lst% ^| Mayor: %hst% ^| Menor: %lst% ^| Pares: %evn_lst%
pause 1>nul & exit
Otro más para la colección. A ver si hoy los termino todos ya :P
Pues aqui esta mi solucion
@ECHO OFF
SetLocal EnableDelayedExpansion
SET /P NUMNAT=¨Numero natural?
echo %NUMNAT%>NUMNAT.bar
FOR %%A IN (NUMNAT.bar) DO (SET /A LONG=%%~zA - 2)
DEL NUMNAT.bar
SET /A LONGMENOS1=%LONG%-1
SET NUMNATINV=
FOR /L %%B IN (0,1,%LONGMENOS1%) DO (SET NUMNATINV=!NUMNAT:~%%B,1!!NUMNATINV: =!
SET NUMNATESP=!NUMNATESP!!NUMNAT:~%%B,1! )
FOR %%C IN (%NUMNATESP%) DO (IF .!NUMMAX!.==.. SET NUMMAX=%%C
IF %%C GEQ !NUMMAX! SET NUMMAX=%%C)
FOR %%D IN (%NUMNATESP%) DO (IF .!NUMMIN!.==.. SET NUMMIN=%%D
IF %%D LEQ !NUMMIN! SET NUMMIN=%%D)
FOR %%E IN (%NUMNATESP%) DO (SET /A MOD=%%E %% 2
IF !MOD!==0 SET PARNUMS=!PARNUMS!%%E )
echo Numero : %NUMNAT%
echo Numero invertido: %NUMNATINV%
echo Numero menor : %NUMMIN%
echo Numero mayor : %NUMMAX%
echo Numeros pares : %PARNUMS%
pause >nul
exit
A ver que tal lo hice ;D
Hola, soy nuevo en esto, podrían decirme que debo empezar a estudiar, leer para hacer esto, no quiero leer las soluciones, de hecho no las he visto, claro esta si me recomiendan algo por favor sea de forma ordenada, desde lo basico