[mw_shl_code=c,true]#include <stdio.h>
int main()
{
int i=0,j=0,f=0,m=0,n=64;
for(i=2;i<=n;i++) //i循环到n
{
f=1;
for(j=2;j*j<=i; j++)//判断i是合数还是质数 (一个合数的最小质因数肯定小于等于他的平方根,n/p>=p,n>=p^2
{
if(i%j==0) //如果i是合数
{
f=0; //f=0
break; //退出当前循环
}
}
if(f && n%i==0) //如果f为1,确定i是质数,再由n%i判断i是否n的因数
{
n/=i; //分解质因数的方法是用一个合数的最小质因数(i)去除这个合数(n)
m=i;
}
}
printf("The minimum prime factor is %d\n",m);
return 0;
}[/mw_shl_code] |