.NET Random class?
Хотел пощупать Random class in .NET.
Написал программу, которая считает количество циклов,
приводящих к повторному случайному числу.
Если там только int 32bit представление,
то можно было бы увидеть зацикливание,
но там оказывается больше, хотя seed - int.
Написал программу, которая считает количество циклов,
приводящих к повторному случайному числу.
Если там только int 32bit представление,
то можно было бы увидеть зацикливание,
но там оказывается больше, хотя seed - int.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CheckRandom
{
class Program
{
static void TestRandomLoop(int seed)
{
Random rnd = new Random(seed);
int n0 = rnd.Next();
Console.WriteLine($"Seed: {seed}\t\tn0: {n0} ");
long len = 0;
for (;;)
{
++len;
int n = rnd.Next();
if (n == n0)
{
Console.WriteLine($"\t\tLength: {len} ");
len = 0;
//break;
}
if(len % 100000000 == 0)
Console.Write($"\t\tLength: {len} \r");
}
}
static void Main(string[] args)
{
for(int s=0; ;++s)
TestRandomLoop(s);
}
}
}