@echo off
::此代码将论坛里输出勾股数与求最大公约数综合得来,非原创.
echo.
echo 100以内的勾股数如下:
setlocal enabledelayedexpansion
for /l %%i in (1,1,100) do (
for /l %%j in (%%i,1,100) do (
for /l %%k in (%%j,1,100) do (
set /a a=%%i*%%i,b=%%j*%%j,c=%%k*%%k
set /a sum=!a!+!b!
set /a v1=%%i,v2=%%j,v3=%%k
if !sum! equ !c! call :prime
)
)
)
:prime
set /a a=!v1!,b=!v2!
if %a% lss %b% goto restart
:loop
set/a num2=%a%%%b%
if %num2% gtr 0 set/a a=%b%&set/a b=%num2%&goto loop
goto show
:restart
set/a num1=%a%
set/a a=%b%
set/a b=%num1%
goto :loop
:show
if %b%==1 echo !v1! !V2! !V3!
goto :eof |
|