數學備忘錄

2022-09-24 13:03:11 字數 1010 閱讀 1446

//數學

//素數

//判定素數

​bool is_prime(int n)

//素數線性篩

const int maxn=1e5+100;//maxn<=n

int check[maxn];//標記合數

int prime[maxn];//存放篩出的素數   不超過n的質數約有n/ln n個

​void getprime(int n)//線性篩出2~n範圍內的素數 }}

//埃式素數篩

const int maxn=1e5+100;

int prime[maxn];   //存放篩出的素數 不超過n的質數約有n/ln n個

int check[maxn];   //標記合數

void find_prime(int n)}}

//質因數分解,只適合比較小的數

const int maxn=1e5+100;

int p[maxn];

int c[maxn];

void divide(int n)

}if(n>1) p[++m]=n,c[m]=1;

for(int i=1;i<=m;i++) cout<}

//區間素數篩法

# include

using namespace std;

​const int maxn=1e5+100;

const int maxx=1e6+100;

typedef long long ll;

int check[maxn];

int prime[maxn];

int vis[maxx];

int tot;

void getprime(int n)//線性素數篩,篩出 2-sqrt(r)範圍內的素數,(任何乙個合數n必定包含乙個不超過sqrt(n)的質因子) }}

int main()

備忘錄模式

備忘錄模式 memento 在不破壞封裝性的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態。這樣以後就可將該物件恢復到原先儲存的狀態。originator 發起人 負責建立乙個備忘錄memento,用以記錄當前時刻它的內部狀態,並可以使用備忘錄恢復內部狀態。originator可根據需要...

備忘錄模式

先從物件導向的三大特徵之一封裝說起。物件導向的封裝簡單點說就是把狀態 資料 和行為 操作這些資料的方法 放到一起,構成乙個單元,通常叫做類。乙個物件的行為是事先確定好的 靜態 一些指令碼,如果物件的狀態相同,物件看起來就是一樣的。所以當我們需要把乙個物件的某一時刻儲存起來,那麼只需要儲存它在那個時刻...

備忘錄模式

面臨問題 物件狀態的變化無端,如何回溯恢復物件在某個點的狀態?在軟體構建過程中,某些物件的狀態在轉換過程中,可能由於某種需要,要求程式能夠回溯到物件之前處於某個點時的狀態。如果使用一些公用介面來讓其他物件得到物件的狀態,便會暴露物件的細節實現。如何實現物件狀態的良好儲存與恢復?但同時又不會因此而破壞...