Написать программу которая, используя признаки делимости, определяет, делится ли число на 6 - Pascal ABC
Формулировка задачи:
признак делимости на 6 - это значит, что число делится на 2 и 3. я сделала по отдельности на 2 и 3 ( программа выше). а как это обобщить?
Решение задачи: «Написать программу которая, используя признаки делимости, определяет, делится ли число на 6»
textual
Листинг программы
var n:longint; function d_2(x:longint):boolean; begin d_2:=not odd(x) end; function d_3(x:longint):boolean; function sum(xx:longint):byte; begin if xx>0 then sum:=sum(xx div 10)+xx mod 10; end; begin d_3:=sum(x) mod 3 = 0; end; begin write('n = ');readln(n); write(n); if not((d_2(n))and(d_3(n))) then write(' не'); writeln(' делится на 6') end.
Объяснение кода листинга программы
- Переменная n инициализируется как дробное число без знака со значением типа longint.
- Функция d_2 принимает целое число x и возвращает логическое значение true, если x не является четным, и false в противном случае.
- Функция d_3 принимает целое число x и возвращает логическое значение true, если сумма цифр числа x делится на 3 без остатка, и false в противном случае.
- В функции d_3 определена вспомогательная функция sum, которая принимает целое число xx и возвращает байтовое значение. Если xx больше нуля, то сначала выполняется деление на 10, затем полученный результат прибавляется к остатку от деления на 10, и только после этого выполняется операция модуля 10.
- В функции d_3 снова вызывается вспомогательная функция sum, но уже с аргументом x. Результат вычисления функции sum сохраняется в переменной sum_result.
- Затем проверяется, равен ли остаток от деления sum_result на 3 нулю. Если это так, то переменной d_3 присваивается значение true, иначе - false.
- В основной части программы считывается значение переменной n.
- Выводится значение переменной n.
- Проверяется, удовлетворяет ли n условиям, определенным в функциях d_2 и d_3. Если нет, то выводится слово
не
. - Выводится слово
делится на 6
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д