快速判断素数

 关于任意对于6的数都可以写成:6x,6x+1,6x+2,6x+3,6x+4,6x+5其中只有6x+1与6x+5需要判断是否为素数



#include <iostream>
#include <cmath>
inline bool primer(int n)
{
    if(n==1)return false;
    if(n==2||n==3)return true;

    if(n%6==5||n%6==1)
    {
        for(int i=5;i<=sqrt(n);i+=6)
        {
            if(n%i==0||n%(i+2)==0)return false;
            }
        return true;
        }
    else return false;
    }
int main()
{
    int i,count=0;
    for(i=1;i<=100;i++)
    {
        if(primer(i))
        {
        std::cout<<i<<std::endl;
        count++;
        }
        }
    std::cout<<count;
        return 0;
    }


发布了113 篇原创文章 · 获赞 2 · 访问量 1544

猜你喜欢

转载自blog.csdn.net/C_Dreamy/article/details/103872027
今日推荐