我想写一个算法来生成1-7之间的随机数,给出一个生成1-5之间随机数的方法.
我想到了一个解决方案rand(5)/ 5*7 ??
我认为这应该有效.
谁能告诉我一个最佳解决方案?
我在某处读到了这个解决方案,但我不知道他们怎么想保持"int num = 5*(rand5() - 1)+(rand5() - 1);" .我知道它会在1-7之间生成一个随机数,但是他们如何看待这种逻辑或者他们想要表达的内容并没有进入我的脑海.任何人都可以对此有所了解.
public static int rand7() {
while (true) {
int num = 5 * (rand5() - 1) + (rand5() - 1);
if (num < 21)
return (num % 7 + 1);
}
}
Run Code Online (Sandbox Code Playgroud) 只是一个非常小的问题.
我有一个名为的数组列表li,在我的条件之后,我有以下内容:
li[0]="s";
li[1]="a";
li[2]="h";
li[3]="i";
li[4]="4";
Run Code Online (Sandbox Code Playgroud)
现在我把代码编写为:
foreach (string value in li)
{
tb_output.Text = li.ToString();
}
Run Code Online (Sandbox Code Playgroud)
在这里,我想为每个列表项,元素应存储在一个字符串中,我想在文本框中显示它.但我无法在tb_output中获得"sahil".
你能告诉我我错在哪里吗?我无法接受它.我是初学者,所以对我来说这是一种麻烦.
我知道这是重复的,但我的答案确实很复杂.有人说Hash表,但是对于哈希表,如果有两个名称那么它将如何唯一或者它与键是唯一的?
我应该使用哪种数据结构?
我想通过电话号码和姓名查询.电话簿也很大.