2016.7.17
本文**均由c++編寫
經典的素數判定演算法是這樣:給定乙個正整數n,用2到sqrt(n)之間的所有整數去除n,如果可以整除,則n不是素數,如果不可以整除,則n就是素數。所以求小於n的所有素數程式如下:
如何理解埃拉託斯特尼篩法呢?合數n一定是小於n的某個或若干素數的整數倍。反之,如果n不是任何比它小的素數的倍數,則n必然是素數。#include
#include
using
namespace
std;
#define n 1001
bool isprime(int n)
if(co == 1)
return
true;
else
return
false;
}int main()
}int main()
經典素數判定演算法中,並不需要用2到sqart(n)之間的所有整數去除n,只需要用其間的素數就夠了,原因也是合數一定可以表示成若干個素數之積。演算法的改進版本如下:
此演算法相比於普通經典演算法,可謂是用空間換時間。#include
#include
using
namespace
std;
#define n 1001
int isprime[n];
int main()
if (flag)
篩選法找素數演算法的一點改進
自從接觸程式設計以來,發現,選找素數這一題目一直是演算法界乙個長盛不衰的題目,而篩選法似乎是這一題目巧妙極致的乙個解法。不過不知足的我們依然不肯罷休,對程式中那幾次重複運算始終耿耿於懷。什麼時候電腦才能像我們一樣不知是機械的重複呢?呵呵,我們還是先看一下這個問題中的重複運算吧!2 20 40,5 8...
遞迴的一點思考
廢話不說,直接上 searchtree delete int x,searchtree t else if t left null 沒有兒子的情況也包含了,因為t right 為null else else if x t element t right delete x,t right else t...
一點BPXA的思考
懂的人自然懂。bpxa功能配置 這個概念現在還有印象,記錄下來 一,bpxa是用於bp使用第三方資源的。如使用oracle資料庫,就是在xa裡配置。它的特徵是以開頭 二,bpxa有自己的kcxp佇列。這個佇列是自己的,還是寄生在已有的kcxp佇列中,無影響。三,bpxa在配置kcbp之間的交換資源時...