一月底時發生過溫度保險絲?
沒想到才不到一個半月,又來了
剛剛在烤雞塊跟薯餅的時候,明明還沒聽到結束的「叮」聲,電源燈卻已熄滅了
再仔細一看,加熱管也已非燒紅狀態,可能已斷電數分鐘久
與上次一樣,變更多次加熱設定嘗試看能不能啟動,但連結果也跟上次一樣
這玩意兒該不會真的壽命只有一個月吧……
就算運氣好附近有維修據點也不能這樣玩吧~(= =)~
2010年3月2日 星期二
以前寫的找質數函數
以前寫的找質數函數
真懷念那為了這樣幾行小程式而絞盡腦汁的日子(遠目)
以 6n+1 6n-1 法檢驗 n 是否為質數
以 Eratosthenes 篩法找出 n 以下的質數
真懷念那為了這樣幾行小程式而絞盡腦汁的日子(遠目)
以 6n+1 6n-1 法檢驗 n 是否為質數
01 | bool isPrime( const DWORD n ){ |
02 | if ( n < 2 ) |
03 | return FALSE; |
04 | if ( n == 2 || n == 3 ) |
05 | return TRUE; |
06 | if ( !(n%2) || !(n%3) ) |
07 | return FALSE; |
08 | DWORD limit = ( DWORD ) sqrt ( ( double )n ); |
09 | for ( DWORD i=5, gap=2; i<=limit; i+=gap, gap=6-gap ){ |
10 | if ( !(n%i) ){ |
11 | return FALSE; |
12 | } |
13 | } |
14 | return TRUE; |
15 | } |
以 Eratosthenes 篩法找出 n 以下的質數
01 | bool * eratosthenes( const DWORD n ){ |
02 | bool * pPrime = new bool [n+1]; |
03 | pPrime[0] = pPrime[1] = FALSE; |
04 | for ( DWORD i=2; i<=n; ++i ){ |
05 | pPrime[i] = TRUE; |
06 | } |
07 | DWORD limit = ( DWORD ) sqrt ( ( double )n ); |
08 | for ( DWORD i=2; i<limit; ++i ){ |
09 | if ( pPrime[i] ){ |
10 | for ( DWORD j=i*i; j<=n; j+=i ){ |
11 | pPrime[j] = FALSE; |
12 | } |
13 | } |
14 | } |
15 | return pPrime; |
16 | } |
カテゴリー:
C++
訂閱:
文章 (Atom)