日期:2014-05-17  浏览次数:21258 次

请教一个算法问题
我有个数字A和B,要实现A和B中2个数字任意配对,如
只要满足   A=3,b=2
        或者   A=2,B=3
那么配对数就+1,同时并返回A和B配对后剩下的个数
例如
A=7     B=5
那么他们的配对数应该是2,返回A还剩下1,B还剩下1(A=3,B=2和A=3,B=2)
                                                或者A剩下2,B剩下0(A=3,B=2和a=2,b=3)


------解决方案--------------------
LZ描述问题实在有问题 我猜LZ大概是这样意思
初始
A B
7 5
执行1次后
7-3 5-2
==>
4 3
再执行1次后
4-3 3-2
===>
1 1


------解决方案--------------------
<%
sub countab(a,b)
dim x,y,cg,ct
if a> b then
x=clng(a)
y=clng(b)
cg=0
else
x=clng(b)
y=clng(a)
cg=1
end if
if (x/y)> 1.5 then
y=y-(y mod 2)
x=y/2*3
ct=y/2
else
ct=fix((x+y)/5)
if x <ct*3 then
y=ct*5-x
else
x=ct*3
y=ct*2
end if
end if
response.Write( "运行前a= "&a& " b= "&b& " <br> ")
if cg=0 then
a=a-x
b=b-y
elseif cg=1 then
a=a-y
b=b-x
end if
response.Write( "运行后a剩余 "&a& " b剩余 "&b& "计数= "&ct& " <br> ")
end sub
%>
<%
call countab(100,77)
%>