Составьте программу нахождения наибольшего общего делителя трех чисел на паскале. Вроде составила блок-схему, которая работает,но что-то не получается написать программу...
Answers & Comments
melwaytgPascalABC.NET 3.3.5, сборка 1650 от 01.04.2018 Внимание! Если программа не работает, обновите версию!
begin var a,b,c:integer; Read(a,b,c); while a<>b do if a>b then a:=a-b else b:=b-a; while a<>c do if a>c then a:=a-c else c:=c-a; Writeln(a) end.
Все реализовано в точном соответствии с приведенной блок-схемой. Проверено для набора входных данных 6 30 15, получен верный результат 3.
1 votes Thanks 3
melwaytg
uses crt; var a,b,c:integer; function NOD(m,n:integer):integer; begin while m<>n do if m>n then m:=m-n else n:=n-m; NOD:=m; end; begin write('a=');read(a); write('b=');read(b); write('c=');read(c); writeln; writeln('NOD(a,b,c)=',NOD(NOD(a,b),c)); end.
Answers & Comments
Внимание! Если программа не работает, обновите версию!
begin
var a,b,c:integer;
Read(a,b,c);
while a<>b do
if a>b then a:=a-b
else b:=b-a;
while a<>c do
if a>c then a:=a-c
else c:=c-a;
Writeln(a)
end.
Все реализовано в точном соответствии с приведенной блок-схемой.
Проверено для набора входных данных 6 30 15, получен верный результат 3.
var a,b,c:integer;
function NOD(m,n:integer):integer;
begin
while m<>n do
if m>n then m:=m-n else n:=n-m;
NOD:=m;
end;
begin
write('a=');read(a);
write('b=');read(b);
write('c=');read(c);
writeln;
writeln('NOD(a,b,c)=',NOD(NOD(a,b),c));
end.