Помогите написать программу ** паскале :) Составить программу, проверяющую, являются ли...

0 голосов
89 просмотров

Помогите написать программу на паскале :)
Составить программу, проверяющую, являются ли данные три числа взаимно простыми. Использовать подпрограмму.


Информатика (20 баллов) | 89 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Числа являются взаимно простыми, если их наибольший общий делитель равен 1. Используя это свойство, напишем программу:
var
  a, b, c: integer;

{НОД двух чисед}
function gcd(a, b: integer): integer;
var t: integer;
begin
  while b > 0 do
  begin
    t := b;
    b := a mod b;
    a := t;
  end;
  gcd := a;
end;

{Проверка трех чисел на взаимную простоту}
function isCoprime(a, b, c: integer): boolean;
begin
  isCoprime := gcd(gcd(a, b), c) = 1;
end;

begin
  read(a, b, c);
  if isCoprime(a, b, c) then write('Числа взаимно простые')
                        else write('Числа не являются взаимно простыми');
end.

(13.3k баллов)