Даны натуральные числа m и n. Найти такие натуральные p и q, не имеющие общих делителей, что p/q = m/n - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Даны натуральные числа m и n. Найти такие натуральные p и q, не имеющие общих делителей, что p/q = m/n.

Решение задачи: «Даны натуральные числа m и n. Найти такие натуральные p и q, не имеющие общих делителей, что p/q = m/n»

textual
Листинг программы
Uses crt;
var
 divv, m, n: integer;
 P, Q: real;
 
function gcd(m, n: integer): integer;
    var modulo: integer;
    begin
        modulo := m mod n;
        if modulo = 0 then
            gcd := n
        else
            gcd := gcd (n, modulo)
    end;
 
begin
 
write('Enter two numbers: ');
    readln(n, m);
 
    divv := gcd(n, m);
    P := m/divv;
    Q := n/divv;
 
writeln(P:0:0,' ',Q:0:0);
readln;
end.

Объяснение кода листинга программы

В данном коде используется функция gcd, которая находит наибольший общий делитель двух чисел.

  1. Переменные m и n получают значения, введенные пользователем.
  2. Функция gcd вызывается с аргументами m и n. Внутри функции используется цикл, который продолжается до тех пор, пока остаток от деления m на n не станет равным нулю. В этом случае, gcd присваивается значение n. Если остаток от деления не равен нулю, функция вызывается рекурсивно с аргументами n и остатком от деления.
  3. После того, как найдено значение gcd, переменные P и Q присваиваются значения m и n соответственно, деленные на gcd.
  4. Выводится значение P и Q.
  5. Завершается выполнение программы.

Оцени полезность:

7   голосов , оценка 4 из 5
Похожие ответы