【C++】递归求最大素因子的一段代码

利用递归求,今天灵感一来写了一段,结果通过了,但是我自己其实不是很理解这段代码哈哈哈 思想是不断分割出因子,找出大的返回,不过怎么能确定返回的因子一定是素数呢,我不理解哈哈

//获取最大素数因子
int get_prime_factor(int a) {
	//cout << "执行" << endl;
	if (a == 1 || a == 2)return a;
	for (int i = 2; i <= sqrt(a); i++) {
		if (a % i == 0) {
			return max(get_prime_factor(a/i), i);
		}
	}
	return a;
}

全部评论

相关推荐

有担当的灰太狼又在摸鱼:零帧起手查看图片
点赞 评论 收藏
分享
04-09 09:47
门头沟学院 Java
Arbelite_:2-3k,这工资还不如去摇奶茶
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务