久久久国产一区二区_国产精品av电影_日韩精品中文字幕一区二区三区_精品一区二区三区免费毛片爱

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 5489|回復: 11

一道數學編程題:有興趣的來試試

[復制鏈接]
1#
發表于 2015-11-12 22:19:41 | 只看該作者 |倒序瀏覽 |閱讀模式
我們稱197為一個循環質數,因為它的所有輪轉形式: 197, 971和719都是質數。5 w0 m, K" R9 F- A0 ]1 _, ~
100以下有13個這樣的質數: 2, 3, 5, 7, 11, 13, 17, 31, 37, 71, 73, 79, 和97.$ T- a' S4 U! F; m
100萬以下有多少個循環質數?
) E/ f/ m0 V! ]4 P& q+ F能否更進一步,算出這些循環質數分別為多少?
" X) H  d- W: i2 a$ c4 W: s
: C. b* X1 B' I4 L8 R4 G
$ {- e8 H: t9 j6 g& T) L! B
回復

使用道具 舉報

2#
發表于 2015-11-12 23:29:02 | 只看該作者
是需要所有輪轉形式都為質數么?
+ i3 ]1 N8 _  X5 _0 N$ j/ I- B/ h
. b! M: B8 ~0 B! z% @2 N也就是說判斷一個質數是否為循環質數時,組成的數字里面不能有2、4、6、8、0?
/ b3 b+ z* P3 e1 r8 j' w! ?

點評

大于1位數不能有5  發表于 2015-11-13 00:09

評分

參與人數 1威望 +1 收起 理由
冷水黃金 + 1 思想深刻,見多識廣!

查看全部評分

3#
 樓主| 發表于 2015-11-13 06:30:58 | 只看該作者
fwsc 發表于 2015-11-12 23:29
9 R+ b; q$ I" n2 N是需要所有輪轉形式都為質數么?6 S/ A/ N! L# R1 j/ p9 p% R4 ~& o! ]
* o; d% y: a# b0 M" I
也就是說判斷一個質數是否為循環質數時,組成的數字里面不能有2、4、6、 ...
7 F( ]/ n6 c; L% w$ W- N: Y& i
說的對,但是這個只是必要條件而已,按照它篩選出來的數還是非常多,事實上,符合條件的就幾十個而已# ^5 [+ {% m- ~: }3 f! @+ V) G
4#
發表于 2015-11-13 09:37:29 | 只看該作者
179,197,719,791,917,971, 不是6個這樣的數么?你這個輪轉的定義是什么?

點評

這個輪轉的意思不是所有數的組合排列,而是有一定順序的  發表于 2015-11-13 10:16
這個輪轉的意思不是所有數的組合排列,而是有一定順序的  發表于 2015-11-13 10:16
5#
 樓主| 發表于 2015-11-13 10:14:48 | 只看該作者
陽光小院暖茶 發表于 2015-11-13 09:37   _" o: C1 v" t7 ]' \8 s: h
179,197,719,791,917,971, 不是6個這樣的數么?你這個輪轉的定義是什么?
$ d# t; Y; W: K) `  ~- c
主貼例子已經很清楚了,比如123這個數,它的輪轉數是123,231,312,比如17的輪轉數是17,71,5的輪轉數就他本身一個6 q2 i. W) `2 z+ y

% Z2 }  _( G, ]* I0 W( w& f7 S* E
6#
發表于 2015-11-13 10:17:58 | 只看該作者
這樣行不?假設要得出一百萬以內的所有輪轉形式為素數的素數,3 ^8 L: \% n7 d
第一步,得到一張一百萬以內的素數表;
. P; L* u$ \$ u$ a/ m6 k第二步,大于一位的素數,如果它含有0,2,4,6,8,5,就把它剔除,得到一張更精簡的一百萬以內的素數表;0 a% K5 P" z, }& }4 M
第三步,逐一檢查第二張素數表的素數,看它的所有輪轉形式是否為素數
1 T" X2 H( }# |) ~8 p$ x' _+ D0 ?% I4 q+ q哈哈,這個思路太簡單了

點評

晚上我回去把你的思路做成程序,應該是可以秒出結果的  發表于 2015-11-13 12:51
晚上我回去把你的思路做成程序,應該是可以秒出結果的  發表于 2015-11-13 12:51
晚上我回去把你的思路做成程序,應該是可以秒出結果的  發表于 2015-11-13 12:50
這個思路完全可行,而且計算量也相當少,很不錯,另外其實可以把所有數子加起來可以被3整除的也一起剔除,這樣計算量會更少  發表于 2015-11-13 12:49
7#
發表于 2015-11-13 13:19:59 | 只看該作者
你的這個剔除沒必要,因為數字之和能被3整除的話,它就不會出現在第一張素數表中了。一百萬以內的素數有78,498個(百度),輪轉素數條件挺苛刻的,我猜不超過500個。但是具體怎么編程我不會,有難度,你要是做出來了的話,把結果貼出來欣賞欣賞哈。
8#
 樓主| 發表于 2015-11-13 14:13:12 | 只看該作者
陽光小院暖茶 發表于 2015-11-13 13:19 & K) p9 w9 y3 u
你的這個剔除沒必要,因為數字之和能被3整除的話,它就不會出現在第一張素數表中了。一百萬以內的素數有78, ...

. ^5 S9 c$ F! ?. I; s4 m0 J我早就做出來了,一共55個,代碼今天回去分享給你9 L; @1 L8 o7 G: ^% E5 I0 u
9#
 樓主| 發表于 2015-11-13 20:43:09 | 只看該作者
本帖最后由 pacelife 于 2015-11-13 20:57 編輯
# [* h4 I1 t; m9 u- X/ t# Y  k" ?
陽光小院暖茶 發表于 2015-11-13 13:19 . A+ h/ n! S7 r5 R2 D8 l' `* \
你的這個剔除沒必要,因為數字之和能被3整除的話,它就不會出現在第一張素數表中了。一百萬以內的素數有78, ...
( J6 T0 K& V# ]* D; ]/ ~
我用兩種方法算出來了,第一種是暴力計算法,費時5.39秒之多,另外一種就是你提出的多重篩選法,僅耗時0.078秒,可見適當的篩選對計算量的影響是巨大的( S* z. B; w4 l9 s! f0 T' L
( S/ a8 i$ f# o" P9 ^

- F( J" e: i' \! j5 H# y+ g1 I- E1 l4 |8 x

# f2 s  a! x' Y

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有賬號?注冊會員

×
10#
發表于 2015-11-16 14:16:09 | 只看該作者
你這個語言好像不是c語言吧?是什么語言啊?能編程判斷一個整數是否為素數嗎?一個很大的整數,如果人力判斷它是不是素數,很難啊
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規則

Archiver|手機版|小黑屋|機械社區 ( 京ICP備10217105號-1,京ICP證050210號,浙公網安備33038202004372號 )

GMT+8, 2025-7-30 05:41 , Processed in 0.089427 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表