[求助]请教一个算法,想了几天也没有想出来
ycxf 2006-03-19 11:44:12 有2个数字,a和b,要求这2个数字有多少个2:1或1:2。
例如:
a=5,b=2,很明显,有2个2:1;
a=7;b=8,应该有3个1:2,2个2:1,一共有5个。
在就是要求尽量缩短运行时间,我原来的算法是:
zzj=0 '用来保存有多少个2:1或1:2。
while 1=1
if a<=0 or b<=0 or (a=1 and b=1) then '当出现这种情况时,退出函数,函数名就是chyzzj
chyzzj=zzj
Exit Function
else
if a>b then
a=a-2
b=b-1
else
a=a-1
b=b-2
end if
zzj=zzj+1
end if
wend
这种算法结果是对的,都是如果a,b太大的话速度太慢,有没有哪位高手有更好的算法