Определить являются ли два числа взаимно простыми - Pascal
Формулировка задачи:
Написать функцию в которой 2 числа называются простыми, если имеют один общий делитель- единицу
Решение задачи: «Определить являются ли два числа взаимно простыми»
textual
Листинг программы
function VZ_PRST(a,b:integer):boolean; begin repeat if a>b then a:=a mod b else b:=b mod a; until (a=0)or(b=0); result:=a+b=1; end; var a,b:integer; begin write('a=');readln(a); write('b=');readln(b); if VZ_PRST(a,b)then write('Эти числа взаимно простые!') else write('Эти числа не являются взаимно простыми!'); end.
Объяснение кода листинга программы
- Объявление функции с именем
VZ_PRST
и параметрамиa
иb
типаinteger
. - Внутри функции выполнение цикла
repeat...until
, в котором повторяются следующие действия:- Если
a
большеb
, то значениеa
присваивается остаток от деленияa
наb
; - Иначе, значение
b
присваивается остаток от деленияb
наa
.
- Если
- Проверка условия: выполнение цикла продолжается до тех пор, пока
a
илиb
не станут равными 0. - После выхода из цикла проверка условия: сумма
a
иb
равна 1. - Возвращение результата из функции - значение булевого типа, которое определяет, являются ли числа
a
иb
взаимно простыми. - Объявление переменных
a
иb
типаinteger
. - Считывание значения переменной
a
из ввода пользователя. - Считывание значения переменной
b
из ввода пользователя. - Вызов функции
VZ_PRST
с передачей в неё значений переменныхa
иb
. - Вывод результата на экран: если функция возвращает
true
, выводится сообщениеЭти числа взаимно простые!
, иначеЭти числа не являются взаимно простыми!
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д