回 帖 发 新 帖 刷新版面

主题:[讨论]哎!QBasic真的没什么人了,再出个缩水的算法问题

这是一个关于彩票的算法:

在数学上一个复式投注单假设有n个三选,m个双选,其中n+m<=13,
所有的投注单构成了一个集合C(n,m),C(n,m)共有3的n次方乘以
2的m次方个元素,每一个元素可以表示成一个13位长的三重码,
在组合数学中已经证明存在至少一个C(n,m)的子集K(n,m),每一
个C(n,m)中的元素,都存在一个K(n,m)中的元素,他们之间仅有
1位的差别,即所谓的汉明距离(Hamming  Distance)等于1。满足
上述条件的最小子集K(n,m)称为问题的一个最优解

这个问题在网上看到好多人提,但没有看到有人说解法,我说简单一点:
如果有这样6个数 1,2,3,4,5,6
将它们以3个一组尽可能不重复的分组则有:
C{n,m}=
1-2-3 1-2-4 1-2-5 1-2-6 1-3-4 1-3-5 1-3-6 1-4-5 1-4-6 1-5-6
2-3-4 2-3-5 2-3-6 2-4-5 2-4-6 2-5-6 3-4-5 3-4-6 3-5-6 4-5-6
共是20组

现在求在C{n,m}中取一个子集K{n,m}使取任意二个数:
1-2 1-3 1-4 1-5 1-6 2-3 2-4 2-5 2-6 3-4 3-5 3-6 4-5 4-6 5-6
都能够在K{n,m}这个子集中找到元素
请在C{n,m}找到这个子集(要使K{n,m}尽可能的小)

数可以不是6个这么多,这里便于说明才说6个,这个问题是有多个解的
请高手用QBasic编写算法[em1][em1][em1]

回复列表 (共7个回复)

沙发


[em6]没人了吗,[em19][em10][em19]

板凳

[em1]说说自己的想法也行啊!![em1]

3 楼

为了表示我还活着,
特此向秋风先生说说我自己的想法:
我的想法是,我没看懂是什么意思,
顶一顶的原因上面已经说过了(废话)

我只有小学数学的水平,
高等数学我不懂.
排列组合微积分曲线函数等等都没有认识,
所以我不知道具体什么做法.

4 楼

哈哈哈,tanchuhan到moz的地头一游.
moz好像是广东人哦?

5 楼

不会是来踩场的吧?
我是广东人,QB71也是广东人,(别欺负人少啊)

6 楼

[quote]不会是来踩场的吧?
我是广东人,QB71也是广东人,(别欺负人少啊)[/quote]
哈哈,在你的地头,我怎敢闹事?
我对QB一窍不通,只记得当年年轻时,用那种只有键盘,然后插卡的那种学习机,在上面找到了一个QB,还是要输入行号的那种,然后翻了说明书,自己学了一些Print If ... Then Goto For ... Next 之类的语句.
哈哈,也和VB蛮相似的吧?QB应该是VB的爷爷吧?

7 楼

咬文嚼字:
QB是微软的东西,微软没有出过学习机,学习机上的大多是某个简版的BASIC,(如G字头)
VB也是微软的东西,为了向后兼容(这是微软做得最成功最有价值的地方)
语法,技巧,等等,很多都是从QB发展而来的.

我来回复

您尚未登录,请登录后再回复。点此登录或注册