目前分類:中階雜項 (9)
- Feb 16 Sat 2008 21:05
[函數] 常用字串處理函數及相關函數
- Feb 10 Sun 2008 18:59
[程設] 質數篩法
*何謂篩法?
我們這裡所說的篩法,是Eratosthenes篩法(Sieve)。它是一種由古希臘數學家
Eratosthenes提出的,主要的功能是用來找出不大於n的所有質數。
*篩法的原理
篩法的主要原理就是,把不大於n的所有質數的倍數都砍掉,沒被砍到的就是質數。
*篩法的實作
一般而言,我們會開一個夠大的陣列(到n),紀錄相對索引值是否已經被砍掉。
之後,我們開始去窮舉每一個數,如果發現他是質數,便將其倍數通通砍掉,並記錄下
來,如果不是就跳過。這樣,便能得到不大於n的所有質數了。
順帶一提,我們通常會把2當成特例,然後從3開始砍。
*較有效率的篩法…
1. 假設現有一個質數p,那我們可以從p*p這個數開始砍起。
因為,若現有一個數q並非質數,則知道必有一個小於等於sqrt(q)的因數
若一數q小於p*p會被p砍到,則必有一個質因數小於p。換言之,也就是q/p<p且q/p
也為某個小於p的質數的倍數。
2. 跳過偶數
把2作為特殊處理之後,剩下的偶數便都是合數了。
在砍質數倍數時,記得每次加兩倍,跳過偶數倍。
3. 有要砍東西的質數最高到sqrt(n),故sqrt(n)以上的質數另外處理,不用砍,只需
記錄即可。
*試做題
ACM Q10791
是一題質數with greedy的題目。
細節有機會再補。
- Feb 08 Fri 2008 14:46
[暴力] ACM #381 中譯+解析
- Sep 18 Tue 2007 17:27
[數學] ACM Q10407
一次AC XD
很有趣的一題數學的 可以當消遣XD
http://luckycat.kshs.kh.edu.tw/homework/q10407.htm
方法是從World of Seven看來的這樣
很有趣的一題數學的 可以當消遣XD
http://luckycat.kshs.kh.edu.tw
方法是從World of Seven看來的這樣
- Aug 12 Sun 2007 22:42
[數學] ACM #10221 +簡單中譯
數學題
http://acm.uva.es/p/v102/10221.html
地球半徑6440km 給你地球表面和兩同半徑衛星距離s,以及兩者和地球之間的角度a
角度後面有一個字串可能為deg或min,代表所給的a為哪種單位制
單位制換算deg=min/60
求兩衛星距離(弧度距&直接距離)
請輸出到小數點後第六位
http://acm.uva.es/p/v102/10221.html
地球半徑6440km 給你地球表面和兩同半徑衛星距離s,以及兩者和地球之間的角度a
角度後面有一個字串可能為deg或min,代表所給的a為哪種單位制
單位制換算deg=min/60
求兩衛星距離(弧度距&直接距離)
請輸出到小數點後第六位
- Aug 12 Sun 2007 22:34
[數學] ACM Q10056
- Aug 12 Sun 2007 21:48
[數學] ACM #10347 +簡單中譯
- Aug 12 Sun 2007 21:35
[遞迴] ACM Q11038
- Aug 12 Sun 2007 21:32
[遞迴] ACM Q374
本題使用遞迴求解可以很快這樣~
先備知識
(a * b) mod c = ((a mod c) * (b mod c)) mod c
然後
B^P = B^(P/2) * B^(P/2)
B^P = B^(P-1) * B