其他分享
首页 > 其他分享> > 质数、约数(数学知识)

质数、约数(数学知识)

作者:互联网

一、试除法判定质数

bool prime(int x)
{
    if (x<2)return false;
    for (int i=2; i<x/i; i++)
        if (x%i==0)
            return false;
    return true;
}

二、分解质因数

void divide(int x)
{
    for (int i=2; i<=x/i; i++)
        if (x%i==0)
        {
            int s=0;
            while (x%i==0)x/=i,s++;
            cout<<i<<' '<<s<<"\n";
        }
    if (x>1)cout<<x<<' '<<1<<"\n";
}

三、筛质数

void get_primes(int n)
{
    for (int i=2;i<=n;i++)
    {
        if (!st[i])
        {
            primes[cnt++]=i;
            for (int j=i+i;j<=n;j+=i)st[j]=true;
        }
    }
}

 

标签:约数,prime,int,质数,数学知识,质因数,void
来源: https://www.cnblogs.com/Mercury1988/p/16061773.html