Generating multiple random numbers

后端 未结 5 1591
时光说笑
时光说笑 2021-02-15 11:09

I want to generate 25 unique random numbers and list them in a console. The numbers should be atleast 10 characters long. Any easy way to do that?

5条回答
  •  日久生厌
    2021-02-15 11:28

    The problem lies a little in "25 unique random". Displaying 25 random numbers is as easy as

    Random r = new Random();
    for(int i=0; i<25; i++)
        Console.WriteLine(r.Next(1,100).ToString());
    

    These are not necessarily unique, though. If you do not want to allow duplicates, you need to store previously generated numbers somehow, and roll again if you hit an old one.

    Be aware that you change the probability distribution of your generated numbers this way.

    Edit: I've just noticed that these numbers should be ten characters long. Since 9,999,999,999 exceeds Int32.MaxValue, I'd suggest using Math.Floor(r.NextDouble() * 10000000000 + 1000000000) instead of r.Next(1,100).

    Since your numbers are that long, you should not need to worry about duplicates. They are very very unlikely.

提交回复
热议问题