Даны натуральные числа m, n. Вычислить наибольший общий делитель чисел m, n (НОД), используя рекурсивную функцию вычисления НОД, основанную на соотношении НОД(m, n)=НОД(m,r), где r= n mod m- Pascal(Паскаль)

program rekursia_;
uses crt;
var m,n:integer;
 
function f_nod(m,n:integer):integer;
begin
   if m=0 then f_nod:=n
   else if n=0 then f_nod:=m
   else if m>n then f_nod:=f_nod(m mod n,n)
   else f_nod:=f_nod(m,n mod m);
end;
 
begin
clrscr;
writeln ('Введите два натуральных числа');
readln (m,n);
writeln ('Наибольший общий делитель чисел ',m,n,'равен',f_nod(m,n));//при вызове функции, необходима записать в неё параметры, от которых она работае
readln;
end.

Leave a Comment

− 8 = 2