国产精品乱码一区-性开放网站-少妇又紧又爽视频-西西大胆午夜人体视频-国产极品一区-欧美成人tv-四虎av在线-国产无遮挡无码视频免费软件-中文字幕亚洲乱码熟女一区二区-日产精品一区二区三区在线观看-亚洲国产亚综合在线区-五月婷婷综合色-亚洲日本视频在线观看-97精品人人妻人人-久久久久久一区二区三区四区别墅-www.免费av-波多野结衣绝顶大高潮-日本在线a一区视频高清视频-强美女免费网站在线视频-亚洲永久免费

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 5609|回復: 11

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

[復制鏈接]
1#
發表于 2015-11-12 22:19:41 | 只看該作者 |倒序瀏覽 |閱讀模式
我們稱197為一個循環質數,因為它的所有輪轉形式: 197, 971和719都是質數。: f3 n0 W  y: ^3 U; K
100以下有13個這樣的質數: 2, 3, 5, 7, 11, 13, 17, 31, 37, 71, 73, 79, 和97.
5 \1 K2 m, ]4 ?  o& h: `100萬以下有多少個循環質數?* A0 k" q% g9 H
能否更進一步,算出這些循環質數分別為多少?7 `8 v9 h/ O) C+ z9 x

; s7 O' A6 ^5 I$ ~' W
9 a1 D4 u4 O3 O3 B8 k: z
回復

使用道具 舉報

2#
發表于 2015-11-12 23:29:02 | 只看該作者
是需要所有輪轉形式都為質數么?
& }0 s) g! R# {- |4 M& o, D9 A
. f2 t0 d: ~4 y0 l8 ]8 D也就是說判斷一個質數是否為循環質數時,組成的數字里面不能有2、4、6、8、0?
. K; [/ a  z) i3 A) G3 g' e7 C

點評

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

評分

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

查看全部評分

3#
 樓主| 發表于 2015-11-13 06:30:58 | 只看該作者
fwsc 發表于 2015-11-12 23:29
9 h: u' P  a# p6 V是需要所有輪轉形式都為質數么?* u4 q6 J! S$ T6 R$ F8 u" K6 E$ v8 ?
( M7 u; M. |, t5 A, d! ^9 g
也就是說判斷一個質數是否為循環質數時,組成的數字里面不能有2、4、6、 ...
4 d: X" n2 U0 m1 L+ q  t
說的對,但是這個只是必要條件而已,按照它篩選出來的數還是非常多,事實上,符合條件的就幾十個而已
) y* n6 [' U1 b8 k0 n# K
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 5 O7 v& B/ Z; r) v& a0 v
179,197,719,791,917,971, 不是6個這樣的數么?你這個輪轉的定義是什么?

$ T5 r  S! c1 Z0 |主貼例子已經很清楚了,比如123這個數,它的輪轉數是123,231,312,比如17的輪轉數是17,71,5的輪轉數就他本身一個4 X$ c3 j* {6 l, \

) o: R# u- k* X3 ~! N5 N$ U
6#
發表于 2015-11-13 10:17:58 | 只看該作者
這樣行不?假設要得出一百萬以內的所有輪轉形式為素數的素數,% W5 }  v7 F7 V! h6 l3 G' b
第一步,得到一張一百萬以內的素數表;. m. z) P# b% F" i. R& d% V
第二步,大于一位的素數,如果它含有0,2,4,6,8,5,就把它剔除,得到一張更精簡的一百萬以內的素數表;: I( P0 D; Z7 i
第三步,逐一檢查第二張素數表的素數,看它的所有輪轉形式是否為素數: i; g: q0 s( s6 d# M
哈哈,這個思路太簡單了

點評

晚上我回去把你的思路做成程序,應該是可以秒出結果的  發表于 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
3 h4 q7 n" Q# d; B9 q- ]+ Y你的這個剔除沒必要,因為數字之和能被3整除的話,它就不會出現在第一張素數表中了。一百萬以內的素數有78, ...

; c* s1 [# V: O我早就做出來了,一共55個,代碼今天回去分享給你8 ~6 U" T# D' R# `- C5 E
9#
 樓主| 發表于 2015-11-13 20:43:09 | 只看該作者
本帖最后由 pacelife 于 2015-11-13 20:57 編輯
' j# m8 d. Z$ c9 [, N8 _
陽光小院暖茶 發表于 2015-11-13 13:19
. R8 a. a. s7 {. O7 s. ?你的這個剔除沒必要,因為數字之和能被3整除的話,它就不會出現在第一張素數表中了。一百萬以內的素數有78, ...
( y( G" A- q+ ?+ ]# ~7 |) U4 g
我用兩種方法算出來了,第一種是暴力計算法,費時5.39秒之多,另外一種就是你提出的多重篩選法,僅耗時0.078秒,可見適當的篩選對計算量的影響是巨大的
0 O; R# s* m! F: P% e8 _9 ^" c
  K. h  L" D6 W+ K/ ?; X
6 R8 K/ M2 A* E
2 d9 U* v! {) F1 s& Y! n+ P9 ?* v6 l7 Q3 h# g2 I0 O: P

本帖子中包含更多資源

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

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

本版積分規則

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

GMT+8, 2025-9-5 13:26 , Processed in 0.073190 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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