这里记录一下自己每日学习算法的一个小笔记。

19-9-16

求素数的方法说明:

实际上是用暴力枚举法去计算该数是否可以被整除,但在这过程中也是有减少时间复杂度的方法的。比如若X为非质数,则存在一个Y1*Y2=X。此时若Y1≠Y2则必有Y1<√X,Y2>√X或者Y1>√X,Y2<√X。那么我们如果从头2遍历到X-1做整除判断的话必然会同一组整除数据必然会出现两次。例如15,会被3和5整除。所以我们其实只用便利2到√X做整除判断,减少多余的操作,若2到√X没有数可以整除的话那么√X到X-1也一定不会有数可以整除。

以下程序目的是找出N以内的所有质数,所以第一个for循环是遍历N以内的数,第二个for循环是判断某个数是否为质数。

int main()
{
    int n;
    cin>>n;
    bool is_prime=true;
    //2是唯一一个为质数的偶数,所以后面去考察质数时略过偶数 
    cout<<2<<endl;
    for(int i=3;i<=n;i+=2)
    {
        is_prime=true;
        //考察每一个数是否是质数 
        for(int j=3;j<=sqrt(i);j++)
        {
            if(i%j==0)
            {
                is_prime=false;
                break;
            }
        }
        if(is_prime)
        {
            cout<<i<<endl;
        }
    }
    return 0;
}

求素数(质数)的方法相关推荐

  1. 求素数(质数)的方法及时间复杂度的比较

    素数,又叫质数,定义是除了1和它本身以外不再有其他的因数 时间复杂度O(n) bool prime(int x){//判断x是不是质数,是返回true,不是返回false if(x<=1) re ...

  2. Python 求素数之多方法解析

    素数简介:质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数. 素数 1.素数的普通解法 直接上代码 import math L=[2] n=int(input("请输入所 ...

  3. 【算法】素数(质数)判断方法

    注:本篇文章已搬至个人博客中, 点击前往 素数(质数)的判断在算法问题中经常遇到,这里小结几种常用的判断方法. 素数(质数)的定义 首先,我们来看一下素数(质数)的定义:质数又称素数.一个大于1的自然 ...

  4. 素数(质数)判断方法

    https://blog.csdn.net/songyunli1111/article/details/78690447  ->通俗易懂的解释 标准版:大部分人都知道的比较快的方法:判断从2到s ...

  5. 求素数/质数 简单Java算法

    基本定义 质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数. 与此相对应的是 合数 除2以外所有的质数都是奇数 质数表 (注意: 2 是 ) Java 代码 输出 100 以内 的 ...

  6. C语言求素数两种方法

    素数定义:素数是指除了 1 和它本身以外,不能被任何 法一:判断一个整数 m 是否是素数,只需把m被2~m-1之间的每一个整数去除,如果都不能被整除,那么m就是一个素数. 法二:把2~√n之间的每一个 ...

  7. C语言判断素数(求素数) 求两个数之间的所有质数

    求素数/质数(采用的sqrt) #include <stdio.h> #include<math.h>//判断一个数是不是素数 int checkPrimeNumber(int ...

  8. 面试官:你知道怎么求素数吗?

    摘要:面试官:你知道怎么求素数吗?我:求素数? 本文分享自华为云社区<很多人不知道的求素数的正确方法>,原文作者:bigsai . 前言 现在的面试官,是无数开发者的梦魇,能够吊打面试官的 ...

  9. 求质数(Prime Number 素数)的方法——厄拉多塞筛法

    质数又称素数.指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数.换句话说,只有两个正因数(1和自己)的自然数即为素数.比1大但不是素数的数称为合数.1和0既非素数也非合数.合数 ...

  10. 求素数(质数)的方法(求100以内的素数及判断该数是否为素数)

    "素数,也是质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数." 求素数的方法: (1)从2~x-1测试是否可以整除 (2)去掉偶数之后,从3~x-1,每次加2 ...

最新文章

  1. 2022年了,PyTorch和TensorFlow选哪个?
  2. linux共享文件可读写,在Ubuntu中设置samba共享可读写文件夹
  3. 简单又有效!神奇的轻量级通用上采样算子CARAFE
  4. 大牛给计算机专业学生的 7 个建议
  5. 高数 | 【一元函数微分学】导数部分经典快速例题
  6. PPT修行之路(二)-素材库
  7. 2020牛客暑期多校训练营(第九场) The Crime-solving Plan of Groundhog
  8. sqlserver获取周数
  9. 旺盛型人格特征和优劣势,旺盛型性格的职业发展方向
  10. 分析:公众号运营+引流,怎么从0到1运营
  11. Wallpaper Engine壁纸提取
  12. 计算机桌面属性打不开,电脑计算机属性打不开怎么办
  13. Callback cannot return a non-null value as it gets overwritten by the pipeline
  14. BZOJ 3875 Ahoi2014 骑士游戏
  15. 《人工智能的明天,中国去哪儿》---汤晓鸥
  16. 双拼输入法软件测试,关于双拼输入法学习的一些思考
  17. vue+elementui+springboot前后端分离实现学校帖子网站,模拟“淘柳职”学校大作业
  18. 【Java】接口练习题
  19. 动态规划解决01背包问题
  20. 计算机无法启动打印机,打印机无法启动打印作业是怎么回事

热门文章

  1. 吹爆苹果新款 M1 电脑!
  2. 【笔记】Linux 802.11n CSI Tool部分机翻
  3. 软件测试实用技术与常用模板
  4. C#中文件转换为byte[]及Base64String
  5. Quorumpeps 群体感应数据库简介
  6. UINO优锘科技助力银行业开启智慧运维,踏入智慧金融时代
  7. 【Linux系统】Linux的系统目录结构
  8. 【第十六篇】商城系统-认证系统构建
  9. 正点原子STM32 H743完成RT Thread下的LAN8720 网卡驱动 LWIP跑起来
  10. 《C++0x漫谈》系列之:Concept, Concept!