Даны натуральные числа 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, которая находит наибольший общий делитель двух чисел.
- Переменные m и n получают значения, введенные пользователем.
- Функция gcd вызывается с аргументами m и n. Внутри функции используется цикл, который продолжается до тех пор, пока остаток от деления m на n не станет равным нулю. В этом случае, gcd присваивается значение n. Если остаток от деления не равен нулю, функция вызывается рекурсивно с аргументами n и остатком от деления.
- После того, как найдено значение gcd, переменные P и Q присваиваются значения m и n соответственно, деленные на gcd.
- Выводится значение P и Q.
- Завершается выполнение программы.