求1000000內的素數和每個數的因子的個數

2021-08-27 14:48:22 字數 507 閱讀 6899

1 求素樹

1 求解素樹我們是利用篩法:對於不超過maxn的每個整數x,我們只要去刪除2x,3x,4x......,當處理完maxn個數之後剩下的即為素數

2 時間複雜度分析:外層為o(n),內層總的次數為小於n/2+n/3+n/4+......+n/n,那麼總的o(nlogn)

2 求因子個數

1 對於最大的值來說,我們只要列舉到sqrt(maxn),然後我們對於每個i,去列舉j從(i+1, j*i

#include#include#include#include#includeusing namespace std;

const int maxn = 1e6;

int prime[maxn];

int divide[maxn];

// 求素樹

void getprime()

}// 求因子的個數

void getdivide()

}int main()

求N內的所有素數

1 素數及相關 素數,又稱質數,在乙個大於1的自然數中,除了1和此整數自身之外,不能被其他自然數整除的數。比1大但不是素數的數稱為合數。1和0既不是素數,也不是合數。算術基本定理證明每個大於1的正整數都可以寫成素數的乘積,並且這種乘積的形式是唯一的。2 試除法求素數 演算法描述 根據素數的定義可知,...

求乙個範圍內的素數

學演算法時候,求素數總是一道逃不掉的練習題。好久沒寫演算法相關的練習了,學習了python 就拿它來練一下手吧。在求素數之前,首先我們了解一下 什麼是素數。按維基百科的說法是 素數指在大於1的自然數中,除了1和此整數自身外,無法被其他自然數整除的數 也可定義為只有1和本身兩個因數的數 因此我們可以總...

使用函式求素數和

本題要求實現乙個判斷素數的簡單函式 以及利用該函式計算給定區間內素數和的函式。素數就是只能被1和自身整除的正整數。注意 1不是素數,2是素數。int prime int p int primesum int m,int n 其中函式prime當使用者傳入引數p為素數時返回1,否則返回0 函式prim...