【发布时间】:2013-07-25 17:07:22
【问题描述】:
这对某些人来说可能是显而易见的,但我正在尝试检查我的代码中是否有任何重复的值。
为了清楚起见,我正在创建 5 个变量 整数,它们会在创建后随机化一个数字。假设他们被命名为i1、i2、i3、i4、i5。
我想运行一个循环来相互检查,以确保它们没有任何可能的重复项。如果他们这样做,我将重新随机检查 第二个整数。 (例如 if (i1 == i4) { i4.rand(); })这是为了确保 i1 不需要针对所有先前检查的值进行重新检查,或者在找到不同的数字之前陷入长循环。
如果它是一个完整的 if else 语句,这就是我的想法:if (i1 == i2),if (i1 == i3),if (i1 == i4),if (i1 == i5),if (i2 == i3),if (i2 == i4),if (i2 == i5),if (i3 == i4) , if (i3 == i5), if (i4 == i5)
我知道我可以通过创建大量 if / else 语句来“手动”执行此操作,但有更好的方法吗?如果我将整数限制增加到 20 并且我必须通过 20 次值检查来if / else,这可能不是很可行。我知道有,但我就是想不起来。在 Google 上搜索什么都没有(也许我在搜索错误的关键字),这就是我在 StackOverflow 上询问的原因。
我只想知道我该怎么做,理论上的(理论上你会如何检查重复项?)。答案不一定是可行的函数。
如果您想使用我用于此问题的编程语言创建演示代码,itsExcel VBA。但我认为这些信息可以在理论上适用于许多其他编程语言,因此请随时使用javascript/jQuery、C++、C# 等写信。记得发表评论!
【问题讨论】:
-
我认为您的意思是重复的
values,而不是变量。无论如何,你是如何创建随机数开始的? -
嗯,一个 random() 函数,大多数编程语言都提供 -- Excel VBA 有 Rand()。
-
同理,先随机,再检查重复。
-
非常感谢你们让我了解如何解决这样的问题。我还有很多东西要学!
标签: loops