Для делимости числа на 3 требуется,чтобы сумма цифр числа делилась на .
написать функцию проверки делимости числа n, вводимого с клавиатуры, на 3.
Первый вариант решения с использованием функции и разбора числа на составляющие.
program delim_na_3;
function del_3(n : longint) : boolean;
var
u : longint;
sum : integer;
begin
del_3 := true;
sum := 0;
while n > 0 do // разбираем число на составляющие
begin
u := n mod 10;
sum := sum + u; // ищем сумму цифр числа
n := n div 10;
end;
if sum mod 3 <> 0 then del_3 := false;
end;
var
x : longint;
begin
writeln('Введите число.');
readln(x);
if del_3(x) then writeln('Число ', x, ' делится на 3.')
else writeln('Число ', x, ' не делится на 3.');
readln;
end.
Но такие сложности не обязательны, достаточно разделить число на 3 и проверить
остаток, если он равен 0 то число делится на 3.
Ниже тоже самое, но проще.
program delim_na_3;
var
x : longint;
begin
writeln('Введите число.');
readln(x);
if (x mod 3) = 0 then writeln('Число ', x, ' делится на 3.')
else writeln('Число ', x, ' не делится на 3.');
readln;
end.
Для делимости числа на 5 необходимо чтобы последняя цифра числа была 0 или 5.
Написать функцию проверки делимости числа N,вводимого с клавиатуры,на 5.
Как и в предыдущей задаче решение с функцией.
program delim_na_5;
function del_5(n : longint) : boolean;
begin
del_5 := false;
if ((n mod 10) = 0) or ((n mod 10) = 5) then del_5 := true;
end;
var
x : longint;
begin
writeln('Введите число.');
readln(x);
if del_5(x) then writeln('Число ', x, ' делится на 5.')
else writeln('Число ', x, ' не делится на 5.');
readln;
end.
Но можно и без функции. Если делится программа выведет TRUE, иначе FALSE.
var
a: integer;
begin
readln(a);
writeln(a mod 5 = 0);
readln;
end.