繁体   English   中英

如何设置没有余数的随机数生成?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM