当前位置:   article > 正文

c++中判断素数时间效率较快的方法_质数时间c++

质数时间c++

算法一:一般来说我们都会选择用这种方法,就是让这个数n对2到n-1的没一个数进行除法运算,若存在能整除n的数,则n不是素数,反之则为素数。

#include<iostream>
using namespace std;
int main()
{
    int n,p=0;
    cin>>n;
    for(int i=2;i<n;i++)
    {
        if(n%2==0)
        {
            p=1;
            break;
        }
    }
    if(p==0)
    cout<<"这个数是素数"<<endl;
    else
    cout<<"这个数不是素数"<<endl; 
    return 0;
}

算法二:(质数筛选定理)n不能够被不大于根号n的任何质数整除,则n是一个质数;并且大于2的偶数都不是素数

#include<iostream>
#include<cmath> 
using namespace std;
int main()
{
    int n,p=0,mid;
    cin>>n;
    mid=sqrt(n);
    if(n>2&&n%2==0)
    p=1;
    else
    {
    for(int i=2;i<=mid;i++)
    {
        if(n%2==0)
        {
            p=1;
            break;
        }
    }
    }
    if(p==0)
    cout<<"这个数是素数"<<endl;
    else
    cout<<"这个数不是素数"<<endl; 
    return 0;
}

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/75309
推荐阅读
相关标签
  

闽ICP备14008679号