质数、约数(数学知识)

2022/3/27 6:23:02

本文主要是介绍质数、约数(数学知识),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、试除法判定质数

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;
        }
    }
}

 



这篇关于质数、约数(数学知识)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程