-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprimes.pas
More file actions
38 lines (31 loc) · 997 Bytes
/
primes.pas
File metadata and controls
38 lines (31 loc) · 997 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
program pimes;
{$AppType CONSOLE}
uses SysUtils, DateUtils;
function isPrime(num: Longint): boolean;
var c: Longint;
begin
if (num <= 1) then exit(False);
if (num <= 3) then exit(True);
if ( ((num mod 2) = 0) or ((num mod 3) = 0) ) then exit(False);
c := 5;
while c*c <= num do begin
if (((num mod c) = 0) or ((num mod (c+2)) = 0)) then exit(False);
Inc(c, 6);
end;
exit(True);
end;
var i, Count, minprime, maxprime: Longint;
start_time, end_time, delta_time: tdatetime;
begin
minprime := 0;
maxprime := 20000000;
Count := 0;
writeln('Pascal');
start_time := now;
for i := minprime to maxprime do
if isPrime(i) then Inc(Count);
end_time := now;
delta_time := MilliSecondsBetween(start_time, end_time) / 1000;
writeln('Number of primes in the interval [', minprime, ',', maxprime,']: ',count);
writeln('Time elapsed: ', delta_time, ' seconds');
end.