+ 1

I don't know what's wrong with this code

Random rand = new Random(); int num1 = rand.Next(0, 9); int num2 = rand.Next(0, 9); int num3 = rand.Next(0, 9); int num4 = rand.Next(0, 9); While(((num1 != num2) && (num1 != num3) && (num1 != num4) && (num2 != num3) && (num2 != num4) && (num3 != num4)) == false) { while(num1 == num2) { num2 = rand.Next(0, 9); } while(num1 == num3) { num3 = rand.Next(0, 9); } while(num2 == num3) { num3 = rand.Next(0, 9); } while(num1 == num4) { num4 = rand.Next(0, 9); } while(num2 == num4) { num4 = rand.Next(0, 9); } }

2nd Jun 2025, 8:39 AM
박신영
박신영 - avatar
8 Answers
+ 6
check line 7 While ❎ while ✅ and why are you doing Inefficient duplicate checking? your inner loops tried to fix one duplicate at a time, but changing num2 to avoid num1 could make it equal to num3 and blabla... and also it have risk of infinite loop.
2nd Jun 2025, 8:50 AM
Alhaaz
Alhaaz - avatar
2nd Jun 2025, 9:19 AM
Bob_Li
Bob_Li - avatar
+ 3
Thank you so much! I don't know about C# well so that's the reason (I'm not a expert.).
2nd Jun 2025, 8:55 AM
박신영
박신영 - avatar
+ 3
Thank you
2nd Jun 2025, 9:26 AM
박신영
박신영 - avatar