求最大质因数

给出一个整数,求出其最大质因数。

  • 思路1:最蠢的方法是对所有小于该数的整数,判断是否为给出数的因数且为质数(最蠢的方法判断),然后输出最大的。这种方法的复杂度很高。
  • 思路2:可以使用该数的因数对该数进行分解,再继续对分解后的数求最大质因数,这样我们的计算量将极大缩小。
int GetMaxPrime(int n) {
	int i = 2;
	int res = 1;
	while (n > 2) {
		if (n%i == 0) {
			n /= i;
			res = i;
		}	
		else
			i++;
	}
	return res;
}

猜你喜欢

转载自blog.csdn.net/lccrun/article/details/80874387
今日推荐