日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

回文质数

發布時間:2025/3/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 回文质数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題意

找出范圍[a,b](5 <= a < b <= 100,000,000)( 一億)間的所有回文質數;


分析

找出所有的回文數再判斷它們是不是質數(素數).


var
a,b,l:longint;


function work(w:longint):longint;
var
t,s:longint;
begin
? ? t:=w;
? ? s:=0;
? ? while t<>0 do
? ? begin
? ? ? ? inc(s);
? ? ? ? t:=t div 10;
? ? end;
? ? work:=s;
end;


function ss(s:string):longint;
var
sz,i:longint;
begin
? ? if (length(s)=2)and(s<>'11') then exit(0);
? ? val(s,sz);
? ? if (sz<a)or(sz>b) then exit(0);
? ? for i:=2 to trunc(sqrt(sz)) do
? ? if sz mod i=0 then
? ? begin
? ? ? ? exit(0);
? ? ? ? break;
? ? end;
? ? ss:=sz;
end;


procedure hw(k:longint);
var
w1,w2,i,j,bz:longint;
s1,s2:string;
begin
? ? if k>l then exit;
? ? if k mod 2=0 then
? ? begin
? ? ? ? w1:=1;
? ? ? ? w2:=9;
? ? ? ? for i:=1 to k div 2-1 do
? ? ? ? begin
? ? ? ? ? ? w1:=w1*10;
? ? ? ? ? ? w2:=w2*10+9;
? ? ? ? end;
? ? ? ? for i:=w1 to w2 do
? ? ? ? begin
? ? ? ? ? ? str(i,s1);
? ? ? ? ? ? s2:=s1;
? ? ? ? ? ? for j:=length(s1) downto 1 do
? ? ? ? ? ? s2:=s2+s1[j];
? ? ? ? ? ? bz:=ss(s2);
? ? ? ? ? ? if bz<>0 then writeln(bz);
? ? ? ? end;
? ? end else
? ? begin
? ? ? ? w1:=1;
? ? ? ? w2:=9;
? ? ? ? for i:=1 to (k+1) div 2-1 do
? ? ? ? begin
? ? ? ? ? ? w1:=w1*10;
? ? ? ? ? ? w2:=w2*10+9;
? ? ? ? end;
? ? ? ? for i:=w1 to w2 do
? ? ? ? begin
? ? ? ? ? ? str(i,s1);
? ? ? ? ? ? s2:=s1;
? ? ? ? ? ? for j:=length(s1)-1 downto 1 do
? ? ? ? ? ? s2:=s2+s1[j];
? ? ? ? ? ? bz:=ss(s2);
? ? ? ? ? ? if bz<>0 then writeln(bz);
? ? ? ? end;
? ? end;
? ? hw(k+1);
end;




begin
? ? read(a,b);
? ? l:=work(b);
? ? hw(1);
end.

轉載于:https://www.cnblogs.com/YYC-0304/p/9500195.html

總結

以上是生活随笔為你收集整理的回文质数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。