Formátovaný výpis zdrojového kódu. Stáhněte si zdrojový kód souboru test_prvocislo.pas ve formátu PAS.

program test_prvocislo;

var
        N : integer;      { Testovane cislo }
        D : integer;      { Prochazi vsechny delitele }
        Pocet : integer;  { Pocet delitelu }

begin
        write('Zadej cislo: ');
        readln(N);

        if N <= 0 then writeln('Pracuji jen s kladnymi cisly')
        else if N = 1 then writeln('Jedna neni prvocislo ani cislo slozene')
        else begin
                Pocet := 0;

                { Cyklus For - projdi vsechna cisla od 2 do N-1. }

                { for D := 2 to N-1 do
                    if N mod D = 0 then Pocet := Pocet + 1;
                }

                { Cyklus While - Skonci, kdyz
                        1) najdes prvniho delitele ; nebo
                        2) prosel jsi uz vsechny delitele, tj. do odmocniny z N
                }

                D := 2;
                while (Pocet = 0) and (D < sqrt(N)) do begin
                        if N mod D = 0 then Pocet := Pocet + 1;
                        D := D + 1;
                end;

                { Plati veta: Jestlize je cislo N prvocislo vetsi nez 3, pak N=6k-1 nebo N=6k+1 pro nejake k prirozene.
                Ukol: Napiste program, ktery bude testovat delitelnost pouze cisly, ktera mohou byt prvocisla podle predchozi vety.
                Tj. testujte delitelnost cisly 5, 7,  11, 13,  17, 19,  23, 25, ... Nezapomente na to, ze 2 a 3 jsou take prvocisla. }

                if Pocet = 0 then writeln('Prvocislo')
                else writeln('Slozene');

        end;
        readln;
end.