質數(prime).

Slides:



Advertisements
Similar presentations
1 教師敘薪 Q & A 教師敘薪 Q & A 新竹縣立新湖國中 陳淑芬 新竹縣立自強國中 楊美娟
Advertisements

103 學年度縣內介聘申請說明會 南郭國小 教務主任張妙芬.  重要作業日程 : 1 、 5/1( 四 ) 前超額學校 ( 含移撥超額 ) 備文函報縣府教 育處輔導介聘教師名單 2 、 5/7( 三 ) 超額教師積分審查( 9 : : 00 、 13 : : 00 )。 3.
大學甄選申請入學 〃備審資料 〃面試. 確認你的追求對象 學校環境概況 系別特質 有無交換學生 未來出路 性質相似的科系要清楚之間的差別 ex: 社會福利學系,社會工作學系, 社會學系.
人文行動考察 羅東聖母醫院 老人醫療大樓 吳采凌 黃玨宸 劉映姍 陳嫚萱.
焦點 1 陸域生態系. 臺灣的陸域生態系 臺灣四面環海 黑潮通過  高溫, 雨量充沛 熱帶, 亞熱帶氣候.
資源問題與環境保育 第 6 章. 學完本章我能 ……  知道中國土地資源的問題與保育  了解中國水資源的問題與保育  知道中國森林資源的問題與保育  能分析自然環境和人文環境如何影響人類 的生活型態  說舉出全球面臨與關心的課題.
景美樣品房工程變更 / 追加請款 / 說明 102/08/09 樣品房停工 102/10/10 樣品房完工 102/09/26 向工務部提出 追加工程估價單 102/10/25 經工務部審核 轉送採發部門 102/09/03 工地會議 確認後續施工方式 102/11/ /11/ /12/09.
統計之迷思問題 保險 4B 張君翌. 迷思問題及教學者之對策 常見迷思概念教學者之對策 解題的過程重於答案 例 : 全班有 50 位同學,英文不及格的有 15 人,數學不及格的有 19 人,英文與 數學都及格的有 21 人。請問英文與數 學都不及格的有幾人? 老師常使用畫圖來解決這樣的問題,英文和.
社團法人台南市癲癇之友協會 講師:王乃央老師
寓言 何謂寓言? 寓言中的主角選擇 以動物為主角,形象分析—以成語及諺語中來歸納動物形象 以人為主角,形象分析
第七章 外營力作用 第一節 風化 第二節 崩壞 第三節 侵蝕與堆積.
數學本質概念 因數與倍數 指導教授:林宜臻老師 學生:廖冠惠 歐妍汝
物理治療師之僱傭關係 九十二年四月十二日.
勿讓權利睡著- 談車禍之損害賠償與消滅時效.
二、開港前的經濟發展 (一)土地開墾和農業發展 1.漢人移民的遷徙與拓墾 (1)遷徙 A.居住區 a.泉州人最多:沿海
設計新銳能量輔導 實習期中感想 實習生:賴美廷 部落格:TO13004.
日本的〈地獄劇〉 與 中國的〈目連戲〉.
授課教師:羅雅柔 博士 學員:吳沛臻/邱美如/張維庭/黃茹巧
國小教師檢定經驗分享 分享者:胡瑋婷 現職:國語日報語文中心寫作班教師 閱讀寫作營教材編輯及任課講師 榮獲「教育部教育實習績優獎」全國第三名.
民主政治的運作
教育與學習科技學系 103學年度課程說明 103年9月2日.
國有不動產撥、借用法令與實務 財政部國有財產局 接收保管組撥用科 蔡芳宜.
公務人員 育嬰留職停薪權益.
中二數學 第五章 : 二元一次方程 二元一次方程的圖像.
大學教、職員之法義務規範與法律效果 台南地檢署林仲斌.
第三課 政府的組織、功能與權限 一、內閣制 壹、民主國家的政府體制 二、總統制 三、混合制 四、小結 一、前言 貳、我國的中央政府體制
明代開國謀臣 劉伯溫 組員:吳政儒 林天財 王鈴秀 陳冠呈 施典均 李孟儒.
盧世欽 律師 鼎禾律師聯合事務所 民國 一○四 年 九 月 十八 日
因數與倍數 數學教材教法 TKU96B 鄭怡婷.
認識倍數(一) 設計者:建功國小 盧建宏.
雕塑你我他.
TQC+ JAVA全國教師研習會 PLWeb 程式設計練習平台 簡介.
密碼學與網路安全 第8章 數論介紹.
101北一女中 資訊選手培訓營 妳不可不了解的指標 Nan.
4B冊 認識公倍數和最小公倍數 公倍數和最小公倍數的關係.
順德聯誼總會梁潔華小學 六年級 數學科 下學期 數形.
以下這個謎題無法透過宮摒除法完成解題。 但可透過「區塊宮摒除法」或「行列摒除法」完成 By TTHsieh
1.3 在整除性問題之應用 附加例題 3 © 文達出版 (香港 )有限公司.
第一章 直角坐標系 1-1 數系的發展.
五 年 級 上 學 期 數 學 科 100 以 內 的 質 數 作者:陳長培 老師 深 信 學 校.
第一章 直角坐標系 1-3 函數圖形.
學習單元:N6 數的性質 學習單位:N6-3 用短除法求H.C.F. 和 L.C.M. 學習重點 : 1. 複習因數分解法求
最大公因數 第 1 頁.
小學四年級數學科 8.最大公因數.
我 會 數 數.
同分母分數大小比較 ‧教材設計者:台北縣康橋國小 林必勤老師 ‧教材製作者:台北縣康橋國小 吳淑敏老師.
五年級下學期 (一)200以內質數的判別.
程式的時間與空間 Time and Space in Programming
大綱:解的意義 等量公理 移項法則 蘇奕君 台灣數位學習科技股份有限公司
順德聯誼總會梁潔華小學 六年級 數學科 下學期 數形.
因數的世界 因數、公因數與最大公因數 朱曉萍編製.
高年級整數教材教法分析 ~公因數、公倍數~ 林玉鴦
10394: Twin Primes ★★★☆☆ 題組:Problem Set Archive with Online Judge
Scratch: 動畫或遊戲編程 任務10:尋找小鬼.
北一女中 資訊選手培訓營 妳不可不了解的指標 Nan.
※歡迎挑戰,兩人(隊)中先完成連線即算過關!
if (j…) printf ("… prime\n"); else printf ("… not prime\n");
1757: Secret Chamber at Mount Rushmore
13194: DPA Number II ★★☆☆☆ 題組:Problem Set Archive with Online Judge
( )下列何者正確? (A) 7< <8 (B) 72< <82 (C) 7< <8 (D) 72< <82 C 答 錯 對.
因數與倍數 【授課篇】 適用年級:5-6年級 設計者:MRI團隊.
因數與倍數.
認識質數與合數 蔡瑞麟.
1-3 最大公因數與最小公倍數.
10791: Minimum Sum LCM ★★★☆☆ 題組:Problem Set Archive with Online Judge
10303: How Many Trees? ★★☆☆☆ 題組:Contest Archive with Online Judge
11621 : Small Factors ★★☆☆☆ 題組:Problem Set Archive with Online Judge
以下是一元一次方程式的有________________________________。
Presentation transcript:

質數(prime)

何謂質數? 所謂的質數就是指一正整數 除了1和自己本身以外沒有其他因數 而此正整數就稱為質數。

怎麼檢查一個正整數 是否為質數呢?

將正整數除以比它小的所有正整數 ex: 97 97%2=1 97%3=1 97%4=1 97%5=2 97%6=1 97%7=6 97%8=1 97%9=7 97%10=7 97%11=9 97%12=1 97%13=6 97%14=13 97%15=7 97%16=1 97%17=12 97%18=7 97%19=2 97%20=17 97%21=13 97%22=9 97%23=5 97%24=1 97%25=22 97%26=19 97%27=16 97%28=13 97%29=10 97%30=7 97%31=4 97%32=1 97%33=31 97%34=29 97%35=27 97%36=25 97%37=23 97%38=21 97%39=19 97%40=17 97%41=15 97%42=13 97%43=11 97%44=9 97%45=7 97%46=5 97%47=3 97%48=1 97%49=48 97%50=47 97%51=46 97%52=45 97%53=44 97%54=43 97%55=42 97%56=41 97%57=40 97%58=39 97%59=38 97%60=37 97%61=36 97%62=35 97%63=34 97%64=33 97%65=32 97%66=31 97%67=30 97%68=29 97%69=28 97%70=27 97%71=26 97%72=25 97%73=24 97%74=23 97%75=22 97%76=21 97%77=20 97%78=19 97%79=18 97%80=17 97%81=16 97%82=15 97%83=14 97%84=13 97%85=12 97%86=11 97%87=10 97%88=9 97%89=8 97%90=7 97%91=6 97%92=5 97%93=4 97%94=3 97%95=2 97%96=1

高中教過的質數檢查法 根據高中學過的因數成對定理 檢查2~N1/2 ,看看是否有N的因數 ex: 97 97%2=1 97%3=1 97%4=1 97%5=2 97%6=1 97%7=6 97%8=1 97%9=7

檢查2~N1/2奇數 偶數一定是2的倍數 97%2=1 97%3=1 97%5=2 97%7=6 97%9=7

如果要找好幾個質數, 上面的方法就很慢, 因為每找一個質數就要從頭跑一次

篩法 利用一條bool array來紀錄他是不是質數 1 2 3 4 5 6 7 8 9 10 11 T 1 2 3 4 5 6 7 8 9 2.將0和1改為F(非質數),再往下尋找質數。 3.當找到一個質數後,將此質數的倍數歸F為非質數。 4.往下尋找質數,重複步驟3.直到尋找到的質數大於√N為止。 結論: 雖然篩法的程式寫起來很簡單,不過缺點是很占記憶體空間。 1 2 3 4 5 6 7 8 9 10 11 T 1 2 3 4 5 6 7 8 9 10 11 F F F F F F F T:質數 F:非質數 i = 2 3

跳二跳四法 × 什麼是跳二跳四?我們就先拿6來區分一下正整數: (2和3例外) 6n 6n+1 6n+2 6n+3 6n+4 6n+5 6.12.18 .24….. 1.7.13. 19.25 8.14. 20….. 9.15. 21…. 4.10.16. .22….. 5.11.17. .23.29. 6的倍數 × 需檢查 Ex.25 2的倍數 3的倍數 Ex.35

跳二跳四法 我們知道以6來區分的正整數中,只有(6n+1)和(6n+5)比較有可能會有質數出現:

1 2 2 4 2 4 2 4 6 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 25 2 4 2 6 4 2 4 6 6 2 35 49 55 4 2 2 4 2 4 6 4 2 6 4 6 8 91 65 77 85 2 2 4 95 4 4 2 2 2 4

因此… -開一條名為prime的int array -在0和1的位置放入2、3兩數 -設一個target變數,從5開始檢查 它存於prime的array中。 (檢查小於等於target開根號的質數 是否能整除它即可。) -將target加2 -將target加4

target= 7 29 5 23 31 25 11 19 13 17 +2 +4 1 2 3 4 5 6 7 8 9 10 2 3 5 5 7 11 13 17 19 23 29 31

我們所需要的質數表到底要 開多大呢?

質數表大小 依照因數成對定理, 我們可以知道一個正整數, 只要不被自己的平方根以下的正整數整除就是質數, 由上述之方法可以知道一件事, 就是質數表至少需要開到質數數字小於等於√N的大小, 此外還要另外再開一個空間來存大於√N的質數。

5 3 target= 13 39 prime[i]= 3 2 target%prime[i]= 1 1 EX :39 NULL (39)1/2 ≒ 6.2 EX :39 target= 13 39 /prime[1] i = 1 i = 0 i = 3 i = 2 prime[i]= NULL 5 3 2 target%prime[i]= 3 1 1 大於√N的質因數 1 2 NULL NULL 13 質數表 1 2 3 5 次方表 1 2 1

練習題 543 Goldbach’s Conjecture 406 Prime Cuts 10924 Prime Words 10235 Simply Emirp 543 Goldbach’s Conjecture

質因數分解 何謂質因數分解? 就是把各數中相同的質因數提出來後再相乘。

質因數分解 -建立質數表 -開一條一樣長的array -做質因數分解,把對應的因次存入 1 2 3 4 5 6 7 8 9 10 11 13 EX :100 1 2 3 4 5 6 7 8 9 10 11 13 17 19 23 29 31 1 2 3 4 5 6 7 8 9 10

質因數分解的建表 target= 33 99 1 11 prime[i]= 2 11 3 5 3 7 target%prime[i]= 2 2 1 1 4 1 2 3 4 5 6 7 8 9 10 11 13 17 19 23 29 31 1 2 3 4 5 6 7 8 9 10 2 1 1

階乘的質因數分解 可能會有人想說直接乘開後再質因數分解, 可是這方法是絕對不行的, 因為當數字到達20!時, 就會超過int的範圍造成overflow的問題。

階乘的質因數分解(原理) 2的因式 Ex.10! = number 1.將兩兩分成一組:(有2的因式就除2,寫下商) number = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 number = 1 2 3 4 5 =>25 2.再將兩兩分成一組:(有2的因式就再除2,寫下商) number = 1 * 2 * 3 * 4 * 5 number = 1 2 =>22 3.再將兩兩分成一組:(有2的因式就再除2,寫下商) number = 1 * 2 number = 1 =>21 所以,共有28

階乘的質因數分解(原理) 3的因式 4. 接下來的3是將三個一組: number = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 number = 1 2 3 =>33 5.三個一組,再除一次3: number = 1 * 2 * 3 number = 1 =>31 所以,共有34

階乘的質因數分解(原理) 10! = 28 * 34 * 52 * 71 5的因式 6. 接下來的5是將五個一組: number = 1* 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 number = 1 2 =>52 所以,共有52 7的因式 7. 接下來的7是將七個一組: number = 1 =>71 所以,共有71 10! = 28 * 34 * 52 * 71

階乘的質因數分解(原理) 8.其實這道理很簡單,若除數2,表示從1開始每兩相鄰數中,一定會有一個數字是二的倍數,所以1~10裡有一定5個數為2的倍數,再將這5個數看成一組,此5個數裡一定會再有 2個數為2的倍數,又將此2個數看成一組,必定有1個數為2的倍數  可知 10! 裡共有8個2。 9.根據這原則,找出1~10共有幾個3、5、7,找出來的數就是此質因數的次方。

Ex. 10! 先設一變數為level,且level = 10。 再設一個變數 temp = level (目的是在過程中不要 一樣設一個 int 陣列與 prime 同長度,名為 factor,且初始值皆歸零。 質因數分解是每遇到整除才把factor [i] ++,而 temp才會換成商。但在階乘的質因數分解法裡 不管有沒有整除都把商加到factor [i],而temp 一樣是換成商,反覆做直到temp = 0, 再將i ++ 往下個質數繼續分解,但須重新再將level值存入 temp,即 temp = level,然後再對此質數做一 樣的動作,直到小於level的質數皆完成上述動 作為止。

level = 10 temp = 1 1 10 2 1 2 5 3 i = 3 4 2 1 prime [i] = 11 7 5 3 2 10! = 28 * 34 * 52 * 71 temp / prime [i] = 2 2 1 3 1 1 5 factor [i] = factor [i] + (temp / prime [i]) = + = 3 7 5 1 1 3 2 1 2 5 8 7 1 5 2 4 3 prime 1 2 3 4 5 6 7 8 9 11 13 17 19 23 29 factor 1 2 3 4 5 6 7 8 9 5 7 8 3 4 2 1

練習題 質因數分解 516 Prime Land 583 Prime Factors 階乘的質因數分解 10139 Factovisors