当前位置: 代码迷 >> 综合 >> 快速判断素数
  详细解决方案

快速判断素数

热度:80   发布时间:2024-01-24 18:04:12.0

 关于任意对于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;}

 

  相关解决方案