求一道Pascal题目的答案

2025-05-07 07:45:11
推荐回答(1个)
回答1:

var
a,b:longint;
i,k:longint;

function zhisu(n:longint):boolean;
var
j,k:longint;
findd:boolean;
begin
k:=trunc(sqrt(n));
if n=1 then zhisu:=false
else if (n=2)or(n=3) then zhisu:=true
else begin
findd:=false;
j:=1;
repeat
j:=j+1;
if (n mod j)=0 then findd:=true;
until findd or (j>k);
zhisu:=not findd;
end;
end;

begin
readln(a,b);
k:=0;
for i:=a to b do
if zhisu(i) then inc(k);
writeln(k);
end.