zfc1987 发表于 2007-12-19 12:57

vf  (程序设计)

编辑求三个自然数的最大公约数和最小公倍数

Tiger5392 发表于 2007-12-19 14:32

*求最大公约数的:
Parameters nNum1,nNum2,nNum3
Local lnCnt,lnResult
For lnCnt=1 To Min(nNum1,nNum2,nNum3)
  If Mod(nNum1,lnCnt)=0 And Mod(nNum2,lnCnt)=0 And Mod(nNum3,lnCnt)=0
    lnResult=lnCnt
  EndIf
EndFor
Return lnResult
*求最小公约数的:
Parameters nNum1,nNum2,nNum3
Local lnResult
lnResult=Min(nNum1,nNum2,nNum3)
Do While .T.
  If Mod(lnResult,nNum1)=0 And Mod(lnResult,nNum2)=0 And Mod(lnResult,nNum3)=0
    Exit
  EndIf
  lnResult=lnResult+1
EndDo
Return lnResult
*上述程序是最笨的,效率最低的

baichuan 发表于 2007-12-20 08:02

其实我感觉老虎的算法已经是很不错的了!

zfc1987 发表于 2007-12-28 21:16

[em05] [em06] 多谢大家的支持啊

页: [1]

编程论坛