Duplication Elimination Project
Not sure whether there's some trickery here... But a simple solution could be:

Simplest way would be an array of boolean for all possible numbers. When you enter 50, check position 50 and if it's false, it was the first time, now set that position to true so it can't be true the next time it is checked. Make it 90 in size and always add 10 to the index :).

bool[] hasBeenEntered = new bool[100-10];

while (true)
{ 
    int nr = Int.Parse(Console.Readline());
    if (nr &gt;= 10 &amp;&amp; &lt;= 100)
    {
        if (hasBeenEntered[nr+10])
            continue;

        hasBeenEntered[nr+10] = true;
        Console.WriteLine(nr);
    } 
}


There might be creative solutions using shorts and bit shifting to use a smaller array or actually use all the binary positions in an array of 2 Longs instead to make it a much smaller array. That's probably not the solution direction, but it would work pretty well...

bool[] hasBeenEntered = new long[2];


then check using bitmasks:

if (hasBeenEntered[nr/64] &amp; (nr % 64) &gt; 0)
    continue;

hasBeenEntered[nr/64] |= (nr % 64);
Console.WriteLine(nr);