怎么快速找到一个数的最大素因数??

例如741的最大素因数是19, 124 是31, 273是13
假如心算的话怎样快速找到?

把这个数开平方,如果小于这个数开平方的所以素数都不能整除这个数,那么这个数就是素数。
例如:求741是不是素数?
因为 28> √741>27,由此可知,只看小于27的所有素数能不能整除741就可以了,由于741÷3=237,所以741不是素数。追问

我要的是方法找一个数的最大素因数, 而不是一个方法验证一个素数

追答

把这个数开平方,用不大于这个数开平方的所有素数除以原数,就能找到这个数的素因数,只要找到一个就必定找到另一个因数使得这两个因数的积等于原数,如此就可以找到最大的素因数了。

追问

可以, 但是如果按照这个方法,124好像行不通。把124开平方,12>√124>11,用所有小于11的素数除以原数得不到答案31,31 是把原数除以4得到的,而4不是小于11的素数。

追答

可以得到31,2是它的一个素因数,124÷2=62必定也是它的素因数,2也是62的素因数,62÷2=31则31也是它的素因数。

可以得到31,2是它的一个素因数,124÷2=62必定也是它的因数,2也是62的素因数,62÷2=31则31也是它的素因数。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-03-17
直接算几乘几等于原数就行了追问

你没错,但是按照这个方法算几乘几算19次太久了

相似回答