MODULE TrialDivision; FROM InOut IMPORT WriteCard, WriteLn; CONST Max = 100; VAR i: CARDINAL; PROCEDURE prime(n: CARDINAL): BOOLEAN; VAR factor: CARDINAL; BEGIN IF n <= 4 THEN RETURN (n = 2) OR (n = 3) ELSIF n MOD 2 = 0 THEN RETURN FALSE ELSE factor := 3; WHILE factor * factor <= n DO IF n MOD factor = 0 THEN RETURN FALSE END; INC(factor, 2) END END; RETURN TRUE END prime; BEGIN FOR i := 0 TO Max DO IF prime(i) THEN WriteCard(i,3); WriteLn END END END TrialDivision.