Ну, так или иначе, вам нужно сохранить «систему показателей» и пропустить опции, которые уже были выбраны. Оценочная карта может быть битовой картой (например, простым целым числом, в котором вы устанавливаете биты), массивом логических значений, списком ранее выбранных чисел и т. Д.
Самый простой способ его кодирования - поместить тело вашей логики выше в цикл UNTIL и проверить в цикле после выбора случайного числа, чтобы увидеть, выбрано ли оно уже. Если это так, выполните итерацию в цикле, в противном случае установите свой ответ, заполните соответствующую «галочку» в своей системе показателей и оставьте цикл.
Но ВНИМАНИЕ: цикл должен также включать проверку, чтобы убедиться, что все опции уже выбраны, и выход с некоторым соответствующим указанием в этом случае.