@echo off
:code
set /p "base=Numero : "
if not defined base (goto:code)
set /p "potencia=Potencia : "
if not defined potencia (goto:code)
:funcion
set /a resultado=0
if %potencia% equ 0 (
rem Salimos
echo.1
exit /b 1
) else (
set /a "resultado=%base%"
for /l %%i in (2 1 %potencia%) do (
set /a resultado=resultado * %base%
)
)
echo.Resultado : %resultado%
exit /b 0
Salida :
Numero : 2
Potencia : 4
Resultado : 16
Press any key...
Numero : 5
Potencia : 8
Resultado : 390625
Press any key...
Numero : 6
Potencia : 7
Resultado : 279936
Press any key...
@echo off
if ["%1"]==[""] (goto:error)
if ["%1"]==[""] (goto:error)
set /a resultado=0
if %2 equ 0 (
rem Salimos
echo.1
exit /b 1
) else (
set /a "resultado=%1"
for /l %%i in (2 1 %2) do (
set /a resultado=resultado * %1
)
)
echo.Resultado : %resultado%
exit /b 0
:error
echo %~nx0 Base Potencia&echo.
echo.Leo Gutierrez R.
exit /b 1
C:\>code 2 3
Resultado : 8
C:\>codes 8 9
134217728
C:\>codes 5 6
15625
C:\>codes 2 3
8
C:\>codes 2 9
512
C:\>
Saludos, espero que les sirva.
Me gusta la parte en que compruebas la introduccion de numeros menores, podria hacerse para negativos :P
@echo off
REM Funcion Potenciacion
REM Coded by :: SmartGenius ::
if ["%1"]==[""] goto :sintaxis
setlocal enabledelayedexpansion
:main
set pot=1
for /f "tokens=1-2 delims=p" %%a in ("%1") do (
for /l %%c in (1,1,%%b) do (set /a pot=!pot!*%%a))
echo %pot%
endlocal
goto :eof
:sintaxis
echo Modo de Uso:
echo.
echo %~n0 Base_p_Exponente
echo.
echo Ej: 2p5 2=Base 5=Exponente ==^> Resultado: 32
goto :eof
Saludos.
Jaja, en los 3 foros me contestaste. :P
Saludos.