• 质因子分解


    在复习质因子分解时候,突然就掉进坑里了,怎么也想不通会存在大于根号N的质因子。

    后来想明白了,发现自己真是好傻X。其实只要构造一下。比如说一个数的质因子是2和17,这个数就是

    34,而34开根号小于6,满足条件= =为了这么个问题,我想了半天。。

    下面是代码

    #include<cmath>
    bool IsPrime(int n)
    {
        if(n<=1)return false;
        int sqr=(int)sqrt((double)n);
        for(int i=1;i<=sqr;i++){
            if(n%i==0)return false;
        }
        return true;
    }
    const int maxn=100;
    int Prime[maxn],pnum;
    bool p[maxn]={false};
    void FindPrime(int r)
    {
        for(int i=1;i<=r;i++){
            if(IsPrime(i)){
                Prime[pnum++]=i;
                p[i]=true;
            }
        }
    }
    struct factor{
        int x;
        int cnt;
    };
    factor factors[10];
    int num=0;
    void divide(int n){
        int sqr=(int)sqrt(1.0*n);
        for(int i=0;i<pnum&&Prime[i]<=sqr;i++){
            if(n%Prime[i]==0){
                factors[num].x=Prime[i];
                factors[num].cnt=0;
                while(n%Prime[i]==0){
                    factors[num].cnt++;
                    n/=Prime[i];
                }
                num++;
            }
        }
        if(n!=1){
            factors[num].x=n;
            factors[num].cnt=1;
            num++;
        }
    }


  • 相关阅读:
    python 格式化 json输出
    python
    回顾2013
    C扩展Python
    C扩展Python
    Python
    Python interview preparing
    Python用smtplib发送邮件
    Python 安装路径, dist-packages 和 site-packages 区别
    nginx worker_cpu_affinity使用方法
  • 原文地址:https://www.cnblogs.com/MalcolmMeng/p/8442971.html
Copyright © 2020-2023  润新知