根據唯一分解定理,任何乙個數都可以分解成若干個素數的乘機,**如下:
//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 ...