Вот уточнение решения Fast / Slow, которое правильно обрабатывает списки нечетных длин и улучшает четкость.
boolean hasLoop(Node first) {
Node slow = first;
Node fast = first;
while(fast != null && fast.next != null) {
slow = slow.next; // 1 hop
fast = fast.next.next; // 2 hops
if(slow == fast) // fast caught up to slow, so there is a loop
return true;
}
return false; // fast reached null, so the list terminates
}
Прежде всего, при использовании класса Random вы можете указать начальное число, в котором будет указано, как генерируется число. Поэтому я дал вам семя. Это семя всегда меняется, поэтому случайное число всегда будет другим. Помните, что Случайное не Случайное, Случайное (Семя) Случайное! Список, который вы ищете, называется «Числа».
Надеюсь, этот код поможет вам:
blockquote>using System.Collections.Generic; using System; namespace Degubbing { class DebugProgram { static void Main(string[] args) { List<int> Numbers = new List<int> { }; int Seed = DateTime.Now.Millisecond; Random Generator = new Random(Seed); for (int i = 0; i < 10; i++) { int RandomNum = Generator.Next(10000000, 20000000); string Result = RandomNum.ToString(); Result = Result.Remove(Result.Length - 1); Result = Result + Result[0]; Console.WriteLine(Result); } Console.ReadKey(); } } }
Что-то вроде этого должно делать работу
List<int> randomNumber = new List<int>();
Random random = new Random();
for (int i = 0; i < 9; i++)
{
randomNumber.Add(random.Next());
}
randomNumber.Add(randomNumber[0]);