首页 > 解决方案 > 如何使随机数遵循某些自定义规则?

问题描述

我正在尝试制作一个随机三项式生成器,我希望 2 个随机数遵循三项式规则 (num1+num2=b)(num1*num2=c)

string a = "x²";
int b = new Random().Next(-50, 50);
int c = new Random().Next(-50, 50);
Console.WriteLine(a,b,c);
while (true)
{
  int num1 = int.Parse(Console.ReadLine());
  int num2 = int.Parse(Console.ReadLine());
  if ((num1 + num2 == b) && (num1 * num2 == c))
  {
    Console.WriteLine("Correct.");
    break;
  }
  else
  {
    Console.WriteLine("Wrong. Try again");
  }
}

我希望这些数字会被写下来,但事实并非如此。另外,我不知道如何使随机数遵循这些规则。PS - 随机数总是相同的,我该如何改变它?

标签: c#random

解决方案


这是我对查尔斯建议的尝试:

var rand = new Random();
string a = "x²";
int num1 = rand.Next(-50, 50);
int num2 = rand.Next(-50, 50);

int b = num1 + num2;
int c = num1 * num2;

Console.WriteLine($"{a}, {b}, {c}");
while (true)
{
    int guess1 = int.Parse(Console.ReadLine());
    int guess2 = int.Parse(Console.ReadLine());
    if (guess1 == num1 && guess2 == num2)
    {
        break;
    }

    Console.WriteLine("Wrong. Try again");
}

Console.WriteLine("Correct.");

我已经简化了最后的逻辑,但它应该是一样的。


推荐阅读