Другие языки программирования и технологии

Помогите решить задачу в Pascal.

Нужно составить прогу, определяющую оканчивается ли число на 3. Я заметил, что все числа оканчивающиеся на 3 делятся на 5 с остатком 6.
program error;
var
a:integer;
begin
readln(a);
if (a mod 5= 6) then
writeln('Число оканчивается на 3')
else
begin
if (a mod 2=0) then
writeln('Число чётное');
end;
end.
Знаю, что много воды, но это не важно. Мой план не работает. Шо делать?
Традиционно, чтобы выявить последнюю цифру числа пишут if a mod 10=последней цифре then ...
PB
Peps Baiker
83 844
Лучший ответ
„Я заметил, что все числа оканчивающиеся на 3 делятся на 5 с остатком 6.“

Это как?
Остаток 6 не может получиться при делении на 5 по своему определению!
К примеру:
0 : 5 = 0 остаток 0.
1 : 5 = 0 остаток 1.
2 : 5 = 0 остаток 2.
3 : 5 = 0 остаток 3.
4 : 5 = 0 остаток 4.
5 : 5 = 1 остаток 0.
и т. д. циклично с длиной периода в 5 будем получать остатки от 0 до 4.

Ладно. Будем делить числа, оканчивающиеся на 3:
3 : 5 = 0 остаток 3.
13 : 5 = 2 остаток 3.
23 : 5 = 4 остаток 3.
33 : 5 = 6 остаток 3.
и т. д.
Это хорошо. Но плохо то, что числа оканчивающиеся на 8 при делении на 5 тоже дают в остатке 3:
8 : 5 = 1 остаток 3.
18 : 5 = 3 остаток 3.
28 : 5 = 5 остаток 3.
и т. д.

К тому же, зачем делить на 5, если сразу можно разделить на 10 и не париться?

P.S. Для проверки нечётности числа есть встроенная функция odd… Хотя, вам этого не нужно находить!

P.P.S. И после этого на этом форуме появляются ещё вопросы типа „нужна ли математика программисту“?
Да некоторые даже с арифметикой не могут справиться!
Кирилл Парфирьев "К тому же, зачем делить на 5, если сразу можно разделить на 10 и не париться?" -этого было бы достаточно.