质数的求解方法

#质数的求解方法


一、质数

1.质数定义:一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)

二、方法

1.自定义函数求质数

代码如下(示例):

bool cmp(int x){
   
    for(int i=2;i*i<=x;i++){
   
        if(x%i==0){
   
            return 0;
        }
    }
    return 1;
 }

2.筛选法求质数

大致思想:首先从2开始,依次去删除每个数的倍数
例求1-120内的质数
首先从2 开始,删除2的倍数
接下来删除3的倍数
删除4的倍数,此时4已经不存在了,因为在删2的倍数时,第一个就把4删除了
后续删除倍数的时候,需要先判断当前的数存不存在,如果存在则删除当前数的倍数,否则,删除下一个数
代码如下(示例):

int prime[125]={
   0};//借用数组来进行筛选,赋初值为0,
//代表现在没有元素被删除
prime[1]=1;//1代表删除
for(int i=1;i<=120;i++){
   
    if(prime[i]==0){
   
       for(int j=i*2;j<=120;j+=2){
   
           prime[j]=1;
       }
    }
}
for(int i=2;i<=120;i++){
   
    if(prime[i]==0){
   
        cout<<i<<" ";
    }
}

总结

第2种方法也可以把所有的质数都存到一个新的数组中,这样避免每次都要去求一遍,以时间换空间

相关推荐

  1. 质数求解方法

    2023-12-14 10:44:01       45 阅读
  2. PCL 三维点云中求解三维方程

    2023-12-14 10:44:01       36 阅读
  3. 基于长短期神经网络lstm求解方程

    2023-12-14 10:44:01       36 阅读
  4. 随机规划:求解报童问题期望值模型算法方案

    2023-12-14 10:44:01       16 阅读
  5. 代码求解方程

    2023-12-14 10:44:01       43 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-14 10:44:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-14 10:44:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-14 10:44:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-14 10:44:01       20 阅读

热门阅读

  1. Linux--绝对路径和相对路径

    2023-12-14 10:44:01       38 阅读
  2. linux设置环境变量

    2023-12-14 10:44:01       41 阅读
  3. Golang模板语法

    2023-12-14 10:44:01       39 阅读
  4. 网络编程案例

    2023-12-14 10:44:01       42 阅读
  5. Python 表达式计算详解(eval)

    2023-12-14 10:44:01       40 阅读
  6. C++11在算法竞赛中常用语法特征/语法糖

    2023-12-14 10:44:01       31 阅读
  7. FPGA设计流程:从概念到实现的详细指南

    2023-12-14 10:44:01       32 阅读
  8. 【Typora 的一些常用使用方法】

    2023-12-14 10:44:01       46 阅读
  9. SpringCloud 和 Linux 八股文第一期五问五答

    2023-12-14 10:44:01       32 阅读