середа, 10 грудня 2014 р.

Алгоритми, які треба вивчити напам′ять


Алгоритми,   які треба вивчити напам′ять
учаснику міської олімпіади з інформатики

Алгоритм для НСД(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.

Немає коментарів:

Дописати коментар