原帖及讨论:http://bbs.bccn.net/thread-81760-1-1.html 最近论坛不活跃,写一个小程序,计算两个正整数的最大公约数和最小公倍数。让大家见笑了;同时希望大家贡献自己的东西。
程序代码: **** **** 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  
|