Помогите пожалуйста сделать задание 2 ** языке Паскаль(алгоритм Евклида).

0 голосов
42 просмотров

Помогите пожалуйста сделать задание 2 на языке Паскаль(алгоритм Евклида).


image

Информатика (42 баллов) | 42 просмотров
Дан 1 ответ
0 голосов
Program Example_11;
Var M, N: Integer;
Begin
Writeln('Введите два числа');
Readln(M,N); {вводим два целых числа}
If M>N Then M:=M Mod N
Else N:=N Mod M;
Until (M=0) Or (N=0);
{до тех пор, пока одно из чисел не станет равно нулю}
Writeln('НОД=', M+N)); {вывод НОД - без условного оператора, так как одно из чисел обязательно равно нулю}
Readln;
End.
нок:
program NOK;
uses crt;
function NOD(X,Y:integer):integer;
begin
If X<>0 then NOD:=NOD(Y mod X,X)
else NOD:=Y;
end;
function NOK(X,Y:integer):integer;
begin
NOK:=(X div NOD (X,Y))*Y;
end;
var M,N: integer;
begin clrscr;
writeln('Ввод M и N :');
readln(M,N);
writeln (NOK(M,N));
readln;
end.
(985 баллов)
0

мне же НОК надо.

0

Да,ошибочка вышла

0

Вроде так...

0

спасибо,но что за оператор "uses crt".Я просто только в 9 классе,и не знаю ,что это.

0

uses - это подключает доп. модуль в данном случае crt
crt - это модуль для работы с экраном

0

спасибо вам,узнал на всякий случай,а то учитель еще придереться.

0

на pascalabc.net выдал ошибку

0

что за ошибка?

0

program NOK;
function nod1(X,Y:integer):integer;
begin
If X<>0 then nod1:=NOD1(Y mod X,X)
else nod1:=Y;
end;
function NOK1(x,y:integer):integer;
begin
NOK1:=(X div NOD1 (X,Y))*Y;
end;
var M,N: integer;
begin
writeln('Ввод M и N :');
readln(M,N);
writeln (NOK1(M,N));
end.