Определите, какую часть от времени нахождения на территории выставки они потратили на посещение павильонов двух стран - 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 происходит следующее:

  1. В первой строке вводятся пять числовых значений (a, b, c, d, e) с помощью функции readln().
  2. Значения a и d умножаются, а значения b и c складываются, и результат присваивается переменной e.
  3. Значения b и d умножаются, и результат присваивается переменной f.
  4. Переменная i инициализируется значением 2.
  5. Далее используется цикл repeat-until для поиска наибольшего общего делителя (НОД) для чисел e и f.
  6. Внутри цикла while (e mod i=0) and (f mod i=0) do происходит деление e и f на i с помощью операций div и mod соответственно.
  7. Переменная i увеличивается на 1 после каждой итерации цикла.
  8. Цикл повторяется до тех пор, пока i не станет больше e или f.
  9. После завершения цикла выводится значение e и пробел, а затем значение f с помощью функции writeln().

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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