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

Задача

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

Решение

Алгоритм решения задачи: 

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

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

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

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

4. Если же сгенерированное случайное число уже оканчивалось на 0, то ничего отбрасывать не надо. Поэтому понадобится условный оператор if, проверяющий делится ли число на 10 с остатком. Например так: n mod 10 <> 0.

Программа на языке Паскаль: 

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

Тема

Условные операторы

Уровень

Простые задачи

Комментарии

Добавить комментарий

CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
CAPTCHA на основе изображений
Введите символы, которые показаны на картинке.