| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 411 人关注过本帖
标题:求帮我看下这个算法的问题??
只看楼主 加入收藏
Onesaber
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2013-3-25
结帖率:71.43%
收藏
已结贴  问题点数:15 回复次数:3 
求帮我看下这个算法的问题??
有八个球的重量,其中有一个比其他的小,另外的数字相同,,,现在随机从中抽取六个在天平每边放三个做比较,若想等,则余下的2个中必有一个是轻的。再称一次就可以了
我写了一半就不对了,不太明白


Dim q(8), p(8), u(8) As Integer
Dim t%, i%, j%, k1%, k2%
Private Sub Command1_Click()
For i = 1 To 8
    q(i) = InputBox("输入第" & i & "个球")
    Next i
   
    For i = 1 To 6
    Randomize
    j = Int(Rnd * (8 - 1 + 1) + 1)
    u(j) = q(j)
    p(i) = q(j)
    Form1.Print q(j)
    Next i
    k1 = p(1) + p(2) + p(3)
    k2 = p(4) + p(5) + p(6)
    If k1 = k2 Then
    For i = 1 To 8
    q(i) = q(i) - u(i)
    Next i
    End If

End Sub
2013-04-03 09:06
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
不要随机抽,直接就拿 前 6个球比较,
然后 看结果。
如果 k1=k2 那么称 第7个,第8个球。
如果 k1<k2 ,那么称 第1个,第2个球。
         如果第1 球=第2球,结果是第3球,否则,哪个轻就结果是哪个。
如果 k1>k2 那么同样处理

使用
if 条件 then
...
elseif 条件 then
...
else
...
end if

条件组。

授人于鱼,不如授人于渔
早已停用QQ了
2013-04-03 10:35
Onesaber
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2013-3-25
收藏
得分:0 
回复 2楼 风吹过b
谢谢谢谢。对我非常有用

嗯。。。如果要是随机抽取怎么获得剩下两个球?我赋值过去再减去好似是错的- -
2013-04-03 11:39
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:15 
随机抽取,那么再用一个 数组。
然后这数组,按 1-8 不重复存进去。就是随机抽取的球号。

使用时, 下标 1-6 ,用这个数组的 1-6 元素代替。
也就是多一层数组的括号。

授人于鱼,不如授人于渔
早已停用QQ了
2013-04-03 15:40
快速回复:求帮我看下这个算法的问题??
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024999 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved