var x,y:integer; c:boolean; begin readln(x); {считываем} repeat y:=random(x)+1; {задаем промежуток рандомом} if x=y {сравниваем} then c:=true; {выходим из цикла в случае успеха} until c; {если с=true тогда выход из цикла, иначе крутимся дальше} end. Если я правильно понял условия задачи, то программа вполне работает.