Случайное трехзначное число, оканчивающееся на 0 | Язык Паскаль

Случайное трехзначное число, оканчивающееся на 0

Сгенерировать случайное трехзначное число, оканчивающееся на ноль.

Трехзначные числа - это числа от 100 до 999.

var
    n: integer;
 
begin
    randomize;
 
    n := random(900) + 100;
 
    n := n - n mod 10;
 
    writeln(n);
end.

1. В диапазоне от 100 до 999 при включении обоих границ всего 900 различных значений. Если функции random() передать параметр 900, будет сгенерировано случайное число от 0 до 899 включительно (это как раз 900 значений, учитывая ноль). Итак, получаем выражение random(900).

2. Поскольку нужно число не от 0 до 899, а от 100 до 999, то прибавим к полученному в пункте 1 выражению число 100: random(900) + 100.

3. Чтобы число оканчивалось на ноль, будем отбрасывать единицы. Например, если было получено число 356, надо вычесть шесть единиц, тогда получится 350. Чтобы это сделать, надо найти остаток от деления на 10 и вычесть его из исходного числа. Выражение на языке программирования Паскаль: n - n mod 10.

4. Если сгенерированное случайное число уже оканчивалось на 0, то нахождение остатка от деления на 10 даст 0. Вычитая ноль, мы никак не изменим число.

Другой способ решения - получить случайное число от 10 до 99, а затем умножить его на десять:

var 
    n: integer;

begin
    randomize;

    n := random(90) + 10;

    n := n * 10;

    writeln(n);
end.