[英]how to set up random number generation without remainder?
如何设置生成器的除法随机数以仅列出除法时没有余数的数字? 我只需要一位数字。
我试过了:
Random druhy = new Random();
Random prvni = new Random();
int maxprvni = 10;
int maxdruhy = 10;
int prvnic = prvni.Next(1, maxprvni);
int druhyc = druhy.Next(2, maxdruhy);
...
if (znamenko.Text == "/")
{
int zbytek = (prvnic % druhyc);
if (zbytek == 0)
{
int total = (prvnic / druhyc);
prvnit.Text = prvnic.ToString();
druhyt.Text = druhyc.ToString();
vysledek.Text = total.ToString();
}
}
这不会向我的计算器写入任何数字,因为它有一个数字余数。
我可以在 ELSE 中写什么来生成另一个数字,依此类推,直到数字完全?
您可以生成除数的随机倍数,而不是生成要除的随机数。
// Generate a random divisor, which could be anything except 0
int druhyc = druhy.Next(2, maxdruhy);
// Generate a random multiple of `druhyc`
// Ensure that it does not exceed maxprvni
int prvnic = druhyc * prvni.Next(1, maxprvni / druhyc);
// The division now has no remainder:
int total = (prvnic / druhyc);
通过将maxprvni / druhyc
,可以确保生成的随机数在乘以maxprvni
时不会超过druhyc
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.