3.求600851475143的最大质因数。
解: 首先质因数是指这个数中作为因数的质数,比如15=3*5 那么它的质因数为3和5,最小质数为2.
解题方法:将这个数进行因式分解。
注意:考虑极端情况,本题求最大质因数,那么就假设说这个质数和它自己相乘为这个需要分解的数(因为任何数都能被分解成许多个质数相乘,比如20=2*2*5,为质数2和5组合相乘的结果)
答案为:6857
num=600851475143;
newnum=num; %需要将这个数值赋给变量方便后面使用
facter=2; %最小质数为2
largestFact=0;
while facter*facter<newnum %极端情况
if rem(newnum,facter)==0
newnum=newnum/facter; %将newnum更新
largestFact=facter;
else
facter=facter+1;
end
end
if newnum>facter
largestFact=newnum;
end
largestFact