程序代码:
****
**** GBSGYS V1.00 (C)Copyright 2006-2006 By Tiger5392
****
**** 功能
**** 计算两个正整数的最大公约数及最小公倍数
****
**** 用法
**** ?GYSGBS(nExpr1,nExpr2,nExpr3)
****
**** 参数
**** nExpr1 第一个正整数
**** nExpr2 第二个正整数
**** nExpr3 如为0则计算最大公约数;如为1则计算最小公倍数
****
**** 返回
**** 最小公倍数或最大公约数
****
PARAMETERS nNum1,nNum2,nControl
PRIVATE nNum1,nNum2,nControl,nCount
SET TALK OFF
IF TYPE("nNum1")#CHR(78) OR INT(nNum1)#nNum1 OR nNum1<=0
RETURN "****"
ENDIF
IF TYPE("nNum2")#CHR(78) OR INT(nNum2)#nNum2 OR nNum2<=0
RETURN "****"
ENDIF
IF TYPE("nControl")#CHR(78) OR nControl#0 AND nControl#1
RETURN "****"
ENDIF
IF nControl=1
FOR nCount=MAX(nNum1,nNum2) TO nNum1*nNum2
IF MOD(nCount,nNum1)=0 AND MOD(nCount,nNum2)=0
EXIT
ENDIF
ENDFOR
ELSE
FOR nCount=MIN(nNum1,nNum2) TO 1 STEP -1
IF MOD(nNum1,nCount)=0 AND MOD(nNum2,nCount)=0
EXIT
ENDIF
ENDFOR
ENDIF
RETURN nCount
**** EOF: GYSGBS (C)Copyright By Tiger5392