加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

绝对质数

(2008-11-15 18:55:00)
标签:

杂谈

分类: PASCAL程序

 

【题目】
       如果一个数是质数,且它的数字位置经过对换后仍为质数,则称为绝对质数。例如13。试求出所有的二位绝对质数
 
 
 
【解法一】
   var r,i:integer;
    no:boolean;
procedure zs(j:integer; var bo:boolean);
var i:integer;
  begin
    bo:=true;
    for i:=2 to trunc(sqrt(j)) do
     begin
       if j mod i =0 then begin bo:=false ; break; end;
     end;
  end;
procedure jh(var n:integer);
var x,y:integer;
  begin
    x:=n mod 10;
    y:=n div 10;
    n:=10*x+y;
  end;
begin
  for i:=11 to 100 do
    begin
      r:=i;
      zs(r,no);
      if no=true then
        begin
          jh(r);
          zs(r,no);
          if no=true then write(i:7)
        end;
    end;
end.
 
【解法二】
var i,h,x,y:integer;
    no,yes:boolean;
procedure zs(j:integer; var bo:boolean);
var i:integer;
  begin
    bo:=true;
    for i:=2 to trunc(sqrt(j)) do
      begin
        if j mod i=0 then begin bo:=false; break; end;
      end;
  end;
begin
  for i:= 1 to 9 do
    for h:=1 to 9 do
      begin
        x:=i*10+h;
        y:=h*10+i;
        zs(x,no);
        zs(y,yes);
        if (no=true) and (yes=true) then write(x:5);
      end;
    readln;
end.
 
 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有