试除法分解质因数板子
#算法
试除法分解质因数 将n拆分成a1^p1 * a2^p2... 其中a1,a2...是质数
时间复杂度为n^(1/2)
板子代码
//试除法分解质因数板子
using ll = long long;
void js(ll n) {
//将n拆成 a1^p1 * a2^p2... 其中a1,a2...是质数
for (int i = 2;i <= n / i;i++) {
if (n % i == 0) {
int p = 0;
while (n % i == 0) {
n /= i;p++;
}
//底数为i 指数为p
cout << i << " " << p << endl;
}
}
if (n > 1) {//说明最后这个因数 > 最开始的sqrt(n)
cout << n << " " << 1 << endl;
}
}