如何解决如何制作随机超增数组
我有一个关于制作 Merkle Hellman 背包的实验室,请求说我需要制作一个自动超级递增的数组,但我不知道如何制作,有什么方法可以制作吗?感谢阅读
Random random = new Random();
int[] wInt = random.ints(8,1,999).toArray();
for(int i = 0; i < 8 - 1; i++) {
for (int j = i + 1; j < wInt.length; j++) {
if(wInt[i] > wInt[j]) {
int temp = wInt[i];
wInt[i] = wInt[j];
wInt[j] = temp;
}
}
}
解决方法
A superincreasing sequence 是其中每一项至少与所有前面项的总和一样大的一项。因此,生成超增序列的一种方法是跟踪序列中当前所有元素的总和,然后在形成下一个元素时将一些随机的非零数字添加到总数中。在伪代码中:
sequence = []
total = 0
while the sequence has fewer than n items in it:
total += some random number
append total to the sequence
我将把它作为练习将其翻译成您选择的编程语言。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。