试除法分解质因数板子

#算法

试除法分解质因数 将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;
	}
}


联系方式 - 如果你 喜欢 我的话~

GitHubbilibiliCSDN

ZHM