Pascal програма “Знаходження НСД чисел”

16.03.2016 0 By svvas

НСД(a, b)= НСД(b, a) (перестановка аргументів не змінює НСД).

•          1<=НСД(a, b)<=min(|a|,|b|)

•          НСД(a, b, c, d) = НСД(НСД(a, b), НСД(c, d) )

•          НСД(a, b) =|ab|/НСК(a, b), де НСК(a, b) найменше спільне кратне чисел a, b.

 

Програма

function Nod(a,b:integer):integer;{знаходження НСД 2 чисел}

begin

while a<>b do

if a>b then a:=a-b else b:=b-a;

Nod:=a;

end;

var a:array[1..100] of integer;

n,i:byte;

k:integer;

begin

clrscr;

write(‘Введіть к-сть елементів n=’);

readln(n);

writeln(‘Введіть елементи масиву: ‘);

for i:=1 to n do

begin

write(‘a[‘,i,’]=’);

readln(a[i]);

end;

writeln(‘Масив:’);

for i:=1 to n do

write(a[i],’ ‘);

writeln;

k:=Nod(a[1],a[2]);

for i:=3 to n do k:=nod(k,a[i]);

writeln(‘НСД елементів=’,k);

readln

end.

Comments

comments