Алгоритми, які
треба вивчити напам′ять
учаснику
міської олімпіади з інформатики
Алгоритм для НСД(a; b) НСД(a; b)
Program NCD_ NCK;
Var a, b: longint;
function NCD(x,y:longint):longint; { фукнция поиска наиб. общ.
делителя }
begin
if x<>0 then NCD:=NCD(y mod x,x) else
NCD:=y;
end;
function
NCK(x,y:longint):longint; { фукнция поиска наим. общ. кратного }
begin
NCK:=( x div NOD(x,y) ) * y;
end;
begin
{ основная программа }
readln(a,b);
writeln( 'НОД этих чисел = ', NCD(a,b) );
writeln( 'НОК этих чисел = ', NCK(a,b) );
end.
Алгоритм для пошуку простих чисел
Program PRIME_NUMER;
const LIMIT = 500;
var i,j,lim : word;
begin
{ основна программа }
writeln; { починаємо с нового рядочка}
for i:=1
to LIMIT do begin
j:=2; lim:=round(sqrt(i));
while (i mod j <> 0) and (j <= lim)
do inc( j );
if
(j > lim) then write( i,' ' );
end;
end.
Алгоритм знаходження всіх дільників натурального числа
A
var
a,n,c,d:word;
begin
readln( a
); n:=1;
while ( n <= sqrt(a) ) do begin
c:=a mod n;
d:=a div n;
if c = 0 then begin
writeln( n ); if n <> d then
writeln( d ); end; inc( n );
end;
end.
Немає коментарів:
Дописати коментар