Как сделать Random более случайным не прибегая к паузе? - C#
Формулировка задачи:
Вот код, меня в принципе все устраивает, но можно ли сделать как-нибудь без пауз или переместить, ибо при 500 опытах(num=500) работает чуть больше 18 секунд, скажем так мне в принципе без разницы, но если есть способ этого избежать, то лучше избежать...
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Threading; using System.Security.Cryptography; namespace Lottery { public partial class Form1 : Form { int[,] ticket = new int[9, 2]; int[] res = new int[9]; int[] pred = new int[9]; int[] sum = new int[9]; public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { System.Diagnostics.Stopwatch myStopwatch = new System.Diagnostics.Stopwatch(); myStopwatch.Start(); //запуск int num = Convert.ToInt32(numericUpDown1.Value); textBox1.Text = ""; for (int i = 0; i < 9;i++ ) { sum[i] = 0; } for (int j = 0; j < num; j++) { game(); for (int i = 0; i < 9; i++) { sum[i] += res[i]; } } for (int i = 0; i < 9; i++) { textBox1.Text += Convert.ToString(sum[i]) + " "; } myStopwatch.Stop(); TimeSpan ts = myStopwatch.Elapsed; textBox2.Text = Convert.ToString(ts); } void lot() { Thread.Sleep(1); Random rand1 = new Random((int)DateTime.Now.Ticks); for (int i = 0; i < 9; i++) { ticket[i, 0] = rand1.Next(0, 2); ticket[i, 1] = 1 - ticket[i, 0]; } } void game() { for (int j = 0; j < 9; j++) { res[j] = 1; Thread.Sleep(1); Random rand2 = new Random((int)DateTime.Now.Ticks); lot(); for (int i = 0; i < j+1; i++) { pred[i] = rand2.Next(0, 2); if (ticket[i, pred[i]] != 1) { res[j] = 0; break; } } } } } }
Решение задачи: «Как сделать Random более случайным не прибегая к паузе?»
textual
Листинг программы
Thread.Sleep(1); Random rand1 = new Random((int)DateTime.Now.Ticks);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д