Определите, какую часть от времени нахождения на территории выставки они потратили на посещение павильонов двух стран - Free Pascal
Формулировка задачи:
Данат и Амиржан побывали на Международной выставке ЭКСПО-2017. В павильоне Германии они были a/b часть всего времени нахождения, а в павильоне Австрии c/d части всего времени. Определите, какую часть от времени нахождения на территории выставки они потратили на посещение павильонов этих двух стран. Ответ запишите в виде несократимой дроби.
Формат входных данных
Вводятся четыре натуральных числа a, b, c и d, не превосходящие 10000.
Формат результата
Вывести два натуральных числа x и y через пробел таких, что дробь x/y – несократима и x/y = a/b + c/d.
Примеры
Входные данные Результат работы
3 8 1 4 / 5 8
2 8 3 12 / 1 2
Решение задачи: «Определите, какую часть от времени нахождения на территории выставки они потратили на посещение павильонов двух стран»
textual
Листинг программы
var a,b,c,d,e,f,i:longint; begin readln(a,b,c,d); e:=a*d+c*b; f:=b*d; i:=2; repeat while (e mod i=0) and (f mod i=0) do begin e:=e div i; f:=f div i; end; i:=i+1; until (i>e) or (i>f); writeln(e,' ',f); end.
Объяснение кода листинга программы
В данном коде на языке Free Pascal происходит следующее:
- В первой строке вводятся пять числовых значений (a, b, c, d, e) с помощью функции readln().
- Значения a и d умножаются, а значения b и c складываются, и результат присваивается переменной e.
- Значения b и d умножаются, и результат присваивается переменной f.
- Переменная i инициализируется значением 2.
- Далее используется цикл repeat-until для поиска наибольшего общего делителя (НОД) для чисел e и f.
- Внутри цикла while (e mod i=0) and (f mod i=0) do происходит деление e и f на i с помощью операций div и mod соответственно.
- Переменная i увеличивается на 1 после каждой итерации цикла.
- Цикл повторяется до тех пор, пока i не станет больше e или f.
- После завершения цикла выводится значение e и пробел, а затем значение f с помощью функции writeln().
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д