Умножить дробь на дробь и получить ответ в виде несократимой дроби - Pascal

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

Даны две дроби A/B и C/D (где А, В, С, D — натуральные числа). Умножить дробь на дробь и получить ответ в виде несократимой дроби.

Код к задаче: «Умножить дробь на дробь и получить ответ в виде несократимой дроби - Pascal»

textual
var a,b,c,d,nod:integer;
begin
repeat
writeln('Введите числитель и знаменатель первой дроби ');
readln(a,b);
until(a>0)and(b>0);
repeat
writeln('Введите числитель и знаменатель второй дроби ');
readln(c,d);
until(c>0)and(d>0);
//найдем НОД
a:=a*c;
b:=b*d;
c:=a;
d:=b;
while c<>d do
if c>d then c:=c-d else d:=d-c;
nod:=c;
//сократим дробь
a:=a div nod;
b:=b div nod;
//выведем сокращенную дробь
writeln('Результат умножения:');
if a div b>0 then write(a div b,' ',a mod b,'/',b)
else write(a,'/',b);
end.

7   голосов, оценка 3.571 из 5


СОХРАНИТЬ ССЫЛКУ