batch吧 关注:125贴子:1,899
  • 3回复贴,共1

【最大公约数】

只看楼主收藏回复

@echo off
setlocal enabledelayedexpansion
:begin
cls
echo 起始时间:%time%
set a=%1
set b=%2
set t=0
if %a% gtr %b% (
set /a c=a
set /a a=b
set /a b=c
)
:Subtraction
set /a t+=1
set /a b=b-a
if %b% lss 0 (
set /a a=b+a
set b=%b:~1%
echo !b! !a!第%t%次循环的值
if "!a!"=="0" goto GreatestCommonDivisor
)
goto Subtraction
:GreatestCommonDivisor
echo 最大公约数:!b!
echo 终止时间:%time%
pause
goto begin


IP属地:福建1楼2014-05-25 10:23回复
    好厉害啊


    IP属地:北京来自手机贴吧2楼2014-05-25 13:41
    收起回复
      我想说第十行的c完全没有使用价值。。。。。
      只要不用"!!"就可直接替挨:
      if %a% gtr %b% (
      set a=%b%
      set b=%a%
      )
      并且检测是否为倍数应该使用%%吧?


      IP属地:北京来自手机贴吧3楼2014-06-01 14:06
      回复