算术基本定理任何大于1的正整数都可以唯一分解为有限个素数的乘积。 其中是正整数,是素数,满足试除和试除结合素数判断。扫描2到N之间的每一个整数D,如果D能整除N,则去掉N中的所有因子D,累加去掉D的个数。 如果D是一个合数,那么组成它的因子一定是之前去掉的,累加的D一定是一个质数。 最多有一个素数大于N,如果存在,就是最后剩下的N。 int get _ primes(int n){ for(int I = 2;我& lt= n/I;i++){ if(n % I = = 0){ int k = 0;while(n % I = = 0){ k++;n/= I;} cout & lt& lt我& lt& lt“^"<;& ltk & lt& ltendl} } if(n & gt;1)cout & lt;& ltn & lt& lt“^"<;& lt1 & lt& ltendlcout & lt& ltendl}