素數分解和合數篩選

2021-08-22 07:26:13 字數 504 閱讀 8500

根據唯一分解定理,任何乙個數都可以分解成若干個素數的乘機,**如下:

//factor[i][0]存放分解的素數

//factor[i][1]存放對應分解的素數出現的次數

//fatcnt存放分解出的素數的個數(相同出現的只算一次)

#include #include using namespace std;

const int maxn=100000;///maxn的大小與題目規模有關

int prime[maxn+1];

void getprime()

}}long long factor[100][2];

int fatcnt;

int getfactors(long long x)

fatcnt++;}}

if(tmp!=1)

return fatcnt;}

int main()

return 0;

}

模板 2 2 素數篩選和合數分解

bryce1010模板 合數的分解需要先進行素數的篩選 factor i 0 存放分解的素數 factor i 1 存放對應素數出現的次數 fatcnt存放合數分解出的素數個數 相同的素數只算一次 const int maxn 10000 int prime maxn 1 獲取素數 void get...

1215 素數分解

素數分解 time limit 1000ms memory limit 65536k total submit 16 accepted 16 description 在這裡,我們要對乙個正整數進行分解,我們通常說的分解是指求乙個數的質因數,但是,我們發現有些數字可以分解成若干個質數的和,有趣的事,有...

HDU1299 素數分解

include includeusing namespace std bool isprime 100000 int prime 10000 tot 0,temp,n long long ans int main int t scanf d t for int kase 1 kase t kase ...