搜索
查看: 4225|回复: 8
打印 上一主题 下一主题

987654321的最大质因数那题,但是执行效率很低(改数字为134知编....

[复制链接]
楼主
发表于 2016-5-26 21:01:10 | 显示全部楼层
[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]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表