0

如何使用嵌套 for 循环(或任何其他类型)的集合来生成带有这些变量的这样的序列:

length是多少位数
max是最大的数字
min是最小的数字

让我们说这种情况:

length = 2
max = 3
min = 1

它会产生:

11
12
13
21
22
23
31
32
33

这仅适用于长度 = 1,但不是真的,因为我在开始时仍然有烦人的 0

For i = 1 To length
For ii = 0 To i
For iii = 1 To 5
Console.WriteLine(Str(ii) + Str(iii))
Next
Next
Next
4

1 回答 1

2

由于这看起来像是一个家庭作业问题,因此我将尝试帮助您思考这个问题,而无需实际在代码中给您答案。

让我们思考一下这个问题...

您的范围为 1-3。所以你的第一个序列很简单:

1、2、3

现在你想产生一个从 11 到 13 的序列。1 到 3 和 11 到 13 之间有什么变化或区别?答案是你加了 10 个。

21 到 23 也是如此 - 您又添加了 10。

因此,您要做的是从 1 迭代到 3。
然后,从 1 迭代到 3,这次加 10。
然后,从 1 迭代到 3,这次加 20。

考虑到这一点,您实际上是在这样做:

1
2
3
10 + 1
10 + 2
10 + 3
10 + 10 + 1
10 + 10 + 2
10 + 10 + 3
etc

或者,您也可以这样考虑:

(0 * 10) + 1
(0 * 10) + 2
(0 * 10) + 3
(1 * 10) + 1
(1 * 10) + 2
(1 * 10) + 3
(2 * 10) + 1
(2 * 10) + 2
(2 * 10) + 3
etc

你能看到形成的图案吗?

于 2013-07-12T18:50:50.100 回答