作业帮 > 综合 > 作业

求出所有的既是回文数又是素数的三位数.pascal求大神求解哪里错了?

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/06/11 06:06:21
求出所有的既是回文数又是素数的三位数.pascal求大神求解哪里错了?
最近刚刚学的pascal有个题目自己手打可是错了.
var h,h1:integer;
yes:boolean;
procedure
sub(x:integer; var yy:boolean);
var k,n:integer;
begin
for k:= 1to x do
begin n:=0;
if x mod k =0 then
inc(n);
end;
if n>2 then yy:=false;
end;
procedure
hw(x:integer;var dd:integer);
var k,m,n:integer;
begin
k:=x div 100;
m:=x div 10 -10*k;
n:=x mod 100;
dd:=100*n+10*m+k;
end;
begin
for h:= 100 to 999 do
begin h1:=0;
yes:=true;
sub(h,yes);
if yes then
begin hw(h,h1);
if h=h1 then write(h:6);
end;
end;
readln
end.
这个程序哪里错了?
输出101,202,303,404,505,606,707,808,909.
var h,h1:integer;
yes:boolean;
procedure sub(x:integer; var yy:boolean);//是不是素数
var k,n:integer;
begin
n:=0;//n赋初值,要放到循环前面
for k:= 1to x do
begin
if x mod k =0 then
inc(n);
end;
if n>2 then yy:=false;
end;
procedure hw(x:integer;var dd:integer);//是不是回文数
var k,m,n:integer;
begin
k:=x div 100;
m:=x div 10 -10*k;
n:=x mod 100;
dd:=100*n+10*m+k;
end;
begin
for h:= 100 to 999 do
begin h1:=0;
yes:=true;
sub(h,yes);
if yes then
begin hw(h,h1);
if h=h1 then write(h:6);
end;
end;
readln
end.