要分解质因数,先求出不超过50的所有素数。结果是2,3,5,7,11,13,17,19,23,29,31,37,41,43,47。
50的阶乘分解质因数后应是这种形式
50!=2^a×3^b×5^c×......,关键是求出这些素数的指数a,b,c
我以2和3为例,其他素数的指数的算法都跟这个是一样的。首先用[x]表示不超过数字x的最大整数,例如[3.5]=3,[0.5]=0,[-2.5]=-3
质因数2的指数a=[50/2]+[50/2^2]+[50/2^3]+[50/2^4]+[50/2^5]=25+12+6+3+1=47
算到[50/2^5]就够了,再往下算的话都是0了
3的指数b=[50/3]+[50/3^2]+[50/3^3]=16+5+1=22
50!=2^47×3^22......
省略号的部分算法都跟这个是一样的
用短除法。
首先要知道最基本的:个位为0或5则能被5整除;偶数能被2整除,把每一位的数字相加,如果结果不是个位数就再相加,直到最终成为个位数,如果这个个位数能被3整除,则这个数能被3整除。
拿到一个数后先用以上原则去除因数中所有的2、3、5(就是处以2、3、5知道不能整除为止),剩下的比较大的因数再分解就要看经验了~
诀窍:个位数是1、3、7、9的质数最多(如11、13、17等),并且只有个位是1、3、7的质数的倍数个位才可能出现1、3、7。个位是3和7的质数的倍数个位才能出现9。
一般不可能出很难分解的数,所以说起来似乎很复杂,其实过程很简单