遠風(fēng)工作室
C++博客
|
首頁
|
發(fā)新隨筆
|
發(fā)新文章
|
聯(lián)系
|
聚合
|
管理
隨筆:92 文章:0 評論:72 引用:0
判斷回文素數(shù)的方法
給定一組連續(xù)的整數(shù)(例如2到100000),要求輸出所有回文素數(shù),大致思路有以下兩種:
第一,先判斷是否素數(shù),再判斷是否回文(不推薦)。如果是指定列舉從2到某個數(shù)范圍內(nèi)的回文素數(shù),可以考慮先用篩選法(
http://www.shnenglu.com/amazon/archive/2009/06/20/88107.html
)挑選出所有素數(shù),然后利用翻轉(zhuǎn)法逐個判斷是否回文,翻轉(zhuǎn)法如下:
bool
check(
long
a)
{
long
b
=
0
,temp
=
a;
//
用b保存逆轉(zhuǎn)后的數(shù),temp保存輸入的值,最后用來和b比較
while
(a
>
0
)
{
//
把a的值自右向左逐位取出,自左至右地加到b上
b
*=
10
;
b
+=
a
%
10
;
a
/=
10
;
}
return
b
==
temp;
//
若相等則返回true.
}
第二,先構(gòu)造回文,再判斷是否素數(shù)(推薦)。可以先構(gòu)造所有回文素數(shù),然后根據(jù)判斷是否素數(shù)(
http://www.shnenglu.com/amazon/archive/2009/06/20/88107.html
)。構(gòu)造回文素數(shù)的方法又有兩種:
(1)
三位回文數(shù)公式如下:
for(a[0]=1;a[0]<10;a[0]+=2)
for(a[1]=0;a[1]<10;a[1]++)
n=101*a[0]+10*a[1];
五位回文數(shù)公式如下:
for(a[0]=1;a[0]<10;a[0]+=2)
for(a[1]=0;a[1]<10;a[1]++)
for(a[2]=0;a[2]<10;a[2]++)
n=a[0]*10001+a[1]*1010+a[2]*100;
注意,偶數(shù)個位的回文素數(shù)必然是合數(shù),因為可以被11整除(11除外),且各位是偶數(shù)的回文素數(shù)也必然是合數(shù),因為可以被2整除。
(2)
使用枚舉+翻轉(zhuǎn)的方法,例如12翻轉(zhuǎn)后變成121,123翻轉(zhuǎn)后變成12321,務(wù)必保持奇數(shù)個位,且最高位是偶數(shù)的話不必翻轉(zhuǎn)即可判斷為合數(shù)。
int
Make(
int
data)
{
int
result;
result
=
data;
while
((data
/=
10
)
!=
0
)
{
result
=
result
*
10
+
data
%
10
;
}
return
result;
}
發(fā)表于 2009-08-13 14:11
遠風(fēng)
閱讀(2240)
評論(0)
編輯
收藏
引用
所屬分類:
數(shù)據(jù)結(jié)構(gòu) / 算法
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
數(shù)的整除特征【轉(zhuǎn)載】
判斷圖連通&求割點的算法
并查集學(xué)習(xí)小結(jié)
判斷回文素數(shù)的方法
判斷素數(shù)的算法
Dijkstra算法
AVL樹總結(jié)
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
<
2009年6月
>
日
一
二
三
四
五
六
31
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
1
2
3
4
5
6
7
8
9
10
11
留言簿
(3)
給我留言
查看公開留言
查看私人留言
隨筆分類
(93)
ACM(5)
(rss)
C/C++基礎(chǔ)(20)
(rss)
Linux編程(16)
(rss)
MFC(7)
(rss)
MySQL(2)
(rss)
OPNET仿真(11)
(rss)
PHP(13)
(rss)
Python(3)
(rss)
STL(4)
(rss)
Web技術(shù)(2)
(rss)
Windows管理(3)
(rss)
數(shù)據(jù)結(jié)構(gòu) / 算法(7)
(rss)
收藏夾
(2)
C/C++基礎(chǔ)(1)
(rss)
數(shù)據(jù)結(jié)構(gòu) / 算法(1)
(rss)
搜索
積分與排名
積分 - 330154
排名 - 73
最新評論
1.?re: makefile和make規(guī)則
可以評論么
--馮智浩
2.?re: PHP調(diào)用外部程序的方法
大的as打算阿達的
--碩大的
3.?re: LIB和DLL的區(qū)別與使用
太贊,收藏一下,謝謝
--mymimi1988
4.?re: LIB和DLL的區(qū)別與使用
好文,好內(nèi)容;
--wsdxyz
5.?re: LIB和DLL的區(qū)別與使用
寫的非常詳細,感謝。
--Forward
6.?re: LIB和DLL的區(qū)別與使用
非常好,說得很詳細,也很明白,學(xué)習(xí)了!
--xihuwuyu
7.?re: LIB和DLL的區(qū)別與使用
感覺很好,對于才接觸dll的我來說很夠用。。
--Chosan
8.?re: VC中ListCtrl經(jīng)驗總結(jié)【轉(zhuǎn)載】[未登錄]
總結(jié)的很好啊,轉(zhuǎn)了
--king
9.?re: LIB和DLL的區(qū)別與使用
就我自己沒看太懂嗎
--AzzStyle
10.?re: LIB和DLL的區(qū)別與使用
通俗易懂,呵
--我的
閱讀排行榜
1.?LIB和DLL的區(qū)別與使用(76530)
2.?虛擬機VMware tools安裝【轉(zhuǎn)載】(36579)
3.?Linux串口編程(24878)
4.?tar命令的C參數(shù)(18891)
5.?判斷素數(shù)的算法(11421)
6.?VC中ListCtrl經(jīng)驗總結(jié)【轉(zhuǎn)載】(11313)
7.?PHP調(diào)用外部程序的方法(11094)
8.?makefile和make規(guī)則(9210)
9.?C++進階必讀書籍【轉(zhuǎn)載】(8430)
10.?insert時出現(xiàn)主鍵沖突的處理方法【轉(zhuǎn)載】(8244)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 遠風(fēng)
久久精品天天中文字幕人妻
|
狠狠色丁香婷婷久久综合五月
|
亚洲人成网亚洲欧洲无码久久
|
欧美日韩精品久久久免费观看
|
久久成人小视频
|
久久夜色精品国产欧美乱
|
亚洲国产香蕉人人爽成AV片久久
|
久久久精品免费国产四虎
|
欧美亚洲另类久久综合婷婷
|
97久久国产综合精品女不卡
|
jizzjizz国产精品久久
|
久久久久高潮综合影院
|
无码任你躁久久久久久老妇
|
亚洲人成精品久久久久
|
国产精品成人无码久久久久久
|
亚洲人成网站999久久久综合
|
久久99热这里只有精品国产
|
丁香五月综合久久激情
|
av无码久久久久久不卡网站
|
久久有码中文字幕
|
亚洲国产小视频精品久久久三级
|
久久99国产精品99久久
|
国产精品视频久久久
|
嫩草影院久久99
|
久久99精品久久久久久久不卡
|
久久丫忘忧草产品
|
国产成人无码精品久久久免费
|
日本精品久久久久久久久免费
|
久久综合综合久久97色
|
欧美熟妇另类久久久久久不卡
|
久久久久亚洲国产
|
中文成人无码精品久久久不卡
|
91久久精品国产成人久久
|
久久精品国产亚洲av瑜伽
|
亚洲国产精品狼友中文久久久
|
日韩一区二区久久久久久
|
久久精品国产久精国产思思
|
亚洲乱码精品久久久久..
|
久久久无码精品午夜
|
久久亚洲国产精品123区
|
久久久久亚洲AV无码去区首
|