0

我将完成我作为编码员的学徒期,并且我有一个不错的 j2me 项目要处理,但我不得不承认我对数学算法的了解并不如我所愿。

我的问题是从一组给定的值创建所有可能的“多米诺骨牌对”。例如:可能的值从 0 到 6。现在想象一些具有这些值的多米诺标记。输出应该是这样的:

00
01
02
03
04
05
06
11
12
13
...

每对只出现一次,但具有两个相等值的对是可能的。

我已经搜索过这个问题,但要么我没有找到这个特定问题的解决方案,要么我并不真正了解算法是如何工作的。

我真的很感激任何解释和算法。也可以随意发布替代解决方案。我不仅希望有一个解决方案,而且还要理解它;)

4

1 回答 1

7

伪代码:

for i from 0 to n inclusive
   for j from i to n inclusive
       output i,j

重要的一点是第二个循环不是从零开始的。这意味着我们不必测试是否已经使用了多米诺骨牌。我们知道,由于算法的构造方式,使用该算法产生的所有多米诺骨牌都是独一无二的。

于 2010-02-04T23:02:52.200 回答