giúp mk vs: viết chương trình nhập vào 1 mảng và in ra các số siêu nguyên tố đứng trc còn các số còn lại đứng sau

1 câu trả lời

program bai_giai;
uses crt;
var a,ant,astn:array[1..1000]of longint;i,j,k,e,n,tam:longint;
function NT(b:longint):boolean;
var dem,j:longint;
        begin
         dem:=0;
         for j:=1 to b do if(b mod j=0)then inc(dem);
         NT:=dem=2;
        end;
begin
 clrscr;
  write('nhap n:');readln(n);
  k:=1;
  e:=1;
  for i:=1 to n do
        begin
         write('a[',i,']=');readln(a[i]);;
         if(NT(a[i]))then
                begin
                 ant[k]:=a[i];
                 inc(k);
                end else
                        begin
                         astn[e]:=a[i];
                         inc(e);
                        end;
        end;
  for i:=1 to k-2 do
   for j:=i+1 to k-1 do
    if(ant[i]>ant[j])Then
        begin
         tam:=ant[i];
         ant[i]:=ant[j];
         ant[j]:=tam;
        end;
  for i:=1 to e-2 do
   for j:=i+1 to e-1 do
    if(astn[i]>astn[j])Then
        begin
         tam:=astn[i];
         astn[i]:=astn[j];
         astn[j]:=tam;
        end;
  for i:=1 to k-1 do write(ant[i],' ');
  for i:=1 to e-1 do write(astn[i],' ');
 readln
end.