质因数
如何获取一个数的质因数:短除法
这题难点:此题题目要求的是e9,机试要求1000ms内,如果采用时间复杂度为O(n),能处理的数字为e7~e8.
但此题只需计算到根号x即可
const int MAXN = sqrt(1e 9); //筛法需要筛选的数注意,c++14才支持此类写法,如果低版本的c需要写成常数4e4
vector<int> prime; //保存质数
bool isPrime[MAXN]; //标记数组
void Initial() {
for(int i = 0 ; i < MAXN; i++){
isPrime[i] = true;
}
isPrime[0] = false;
isPrime[0] = false;
for(int i = 2; i < MAXN; i++){
if(!isPrime[i]){
continue;
}
}
}
关于约数和质因子的计算,需要再练习