篩素數篩不到10000000
#include #include #include #include #include using namespace std;
#define n 1000000//12031230
int digit[n]; //記錄素因子
int num[n]; //記錄每個素因子個數
int c; //記錄素因子的個數
void divide(int n)
while(temp % i== 0)
}}typedef long long ll;
ll prime[n], nprime, factor[n], numfactor[n], ct;
bool isprime[n];
void makeprime() }}
}void makeprime2()
}}void divide2(ll n) }}
if(n != 1)
} int main()
執行結果:
於2014.11.26修正:線性篩素數應該從第乙個素數開始。
質因子的分解
1 所謂的質因子分解是指將乙個正整數n寫成乙個或多個質數的乘積的形式,例如 6 2 3,8 2 2 2.或者將其寫為指數形式,如 6 2 1 3 1,180 2 2 3 2 5 1 由於最後要歸結到若干不同指數的乘積,因此需要先將素數表列印出來。注意 1本身不是素數,因此他沒有質因子,一般就是討論大...
素數篩 唯一分解定理 質因子分解 逆元 尤拉篩
素數篩 n,q 1e6 如果暴力求素數 根號n 1000 1e9超時 nlogn預處理素數 o 1 q include using namespace std typedef long long ll typedef pair pll define mp make pair define pb pu...
素數表的獲取以及對整數進行質因子分解
1.求 0 maxn 之間所有素數構成的素數表 法一 判斷每個數是否為素數,如果是素數存入素數表,演算法複雜度為o n根號n 判斷整數n是否為素數,是素數則返回true bool isprime int n return true 求素數 const int maxn 100 int prime 1...