составьте программку определяющую являеться ли дробь a/b сократимой

Составьте программку определяющую являеться ли дробь a/b сократимой

Задать свой вопрос
Людмила Захариадис
Function NOD(a,b : Longint) : Longint;Begin If (a mod b)=0 then NOD:=b else Nod:=NOD(b,a mod b);end;Var a,b : Longint;Begin Write('Введите через пробел числители и знаменатель: ');Readln(a,b); If NOD(a,b)=1 then Writeln('Дробь не сократима.') else Writeln(a,'/',b,' = ',a div NOD(a,b),'/',b div NOD(a,b));end.
Вячеслав Мещевцев
спасибо
2 ответа
// PascalABC.NET 3.0, сборка 1164 от 11.02.2016
function gcd(a,b:integer):integer;
// Нахождение НОД
var
  i: longint;
begin
  while b lt;gt; 0 do begin
    a := a mod b;
    i := b; b := a; a := i
    end;
  Result:=a
end;

begin
  var a:=ReadInteger('a=');
  var b:=ReadInteger('b=');
  var nod:=gcd(a,b);
  if nodgt;1 then
    WritelnFormat('Дробь сократима: 0/1=2/3',
    a,b,a div nod,b div nod)
  else WritelnFormat('Дробь 0/1 несократима',a,b)
end.

Тестовое решение:
a= 23541
b= 335160
Дробь сократима: 23541/335160=59/840
Function NOD(a,b : Longint) : Longint;
Begin
  If (a mod b)=0 then NOD:=b else Nod:=NOD(b,a mod b);
end;

Var a,b : Longint;
Begin
  Write('Введите через пробел числители и знаменатель: ');Readln(a,b);
  If NOD(a,b)=1 then Writeln('Дробь не сократима.')
  else Writeln(a,'/',b,' = ',a div NOD(a,b),'/',b div NOD(a,b));
end.

Варвара
Это рекламщик(-щица), сейчас в бан отправится
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт