思路

  • 无法找到一个直接的数学公式来计算这个问题。因此依此尝试一个数是不是素数【枚举】

枚举:

  • 枚举的顺序:求最大符合条件的素数:因此从大到小枚举比较好
  • 解空间: [N-1, 2]
    • 从N-1开始循环,找到第一个素数,就可以返回这个数。到2(包括2)既可以终止循环,如果一个
    • [N-1,2]之间要么是素数,要么不是素数,没有第3中可能了
  • 求最大符合条件的素数,这里的关键点在于判断一个数是不是素数
    • 质数(素数)是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
    • 不是素数
    • 如果一个数能被另一个数整除,那么这个数 <= 另一个数/2

tag: 素数、枚举

解答

    public static int getPrime(int n) {// 求小于n的最大素数for (int i = n - 1; i > 1; i--){// 判断i是不是指数: i只能被它本身和i整除: 除数j = [i-1, 2)// 又因为如果被除数大于除数的一半,就一定不可能被整除: 除数boolean flag = false;for (int j = i / 2 ; j > 1; j--){if (i % j == 0){ // 不是素数flag = true;break;}}if (!flag){return i;}}return -1;}

算法:求小于N的最大素数相关推荐

  1. c语言找出比n小的最大质数,C++ 实现求小于n的最大素数的实例

    C++ 实现求小于n的最大素数的实例 枚举就是基于已有知识镜像答案猜测的一种问题求解策略 问题:求小于n的最大素数 分析: 找不到一个数学公式,使得根据N就可以计算出这个素数 我们思考: N-1是素数 ...

  2. MySQL求n以内素数_C++ 实现求小于n的最大素数的实例

    C++ 实现求小于n的最大素数的实例 枚举就是基于已有知识镜像答案猜测的一种问题求解策略 问题:求小于n的最大素数 分析: 找不到一个数学公式,使得根据N就可以计算出这个素数 我们思考: N-1是素数 ...

  3. python求小于n的所有素数_快速找出N以内的所有素数解法,python版本。这个应该是最快的了...

    作者:Raffeale/于大伟 质数又称素数.指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数. 一般正常人的解法是两次循环,假设求小于N的所有素数.一次用N-1之间的所有数去 ...

  4. C++实现求小于n的所有素数

    求小于N的所有素数 思路介绍 对于一个小于n的整数X,如果n不能整除X,则n必定不能整除n/X,反之相同. 因此求小于一个数的所有素数,只要从2枚举到√n 即可.因为在判断2的同时也判断了n/2.到√ ...

  5. python求小于n的所有素数_python使用筛选法计算小于给定数字的所有素数

    本文实例为大家分享了python计算小于给定数字的所有素数的具体代码,供大家参考,具体内容如下 代码思路:首先列出指定范围内所有候选数字,然后从前往后依次选择一个数字去除以后面所有数字,能够被整除的肯 ...

  6. 求小于输入值的最大素数的代码

    首先 我们先分析这个题目. 对于初学者而言,不难想出这个题要循环穷举来做. 第一步  我们先找到比输入值小1的数 及让他依次递减 int n; scanf_s("%d",& ...

  7. python求小于n的所有素数_用python求出2000000内所有素数的和?不知怎么写?

    展开全部 import itertools import time N = 2000000 L = range(N) def findnxt(s): flag = 0 for n in itertoo ...

  8. python求小于n的所有素数_Python-列出N以下所有素数的最快方法

    小编典典 警告: timeit由于硬件或Python版本的差异,结果可能会有所不同. 下面是一个脚本,它比较了许多实现: ambi_sieve_plain, rwh_primes, rwh_prime ...

  9. python求小于n的所有素数_python - 列出N以下所有素数的最快方法 - 堆栈内存溢出...

    警告:由于硬件或Python版本的不同, timeit结果可能会有所不同. 下面是一个脚本,比较了许多实现: 非常感谢斯蒂芬为使sieve_wheel_30引起我的注意. 值得罗伯特·威廉·汉克斯 ( ...

最新文章

  1. 新书推荐:《追问人工智能:从剑桥到北京》
  2. golang 接口_「实战」助力数据库开发之接口篇 - Golang 连接 Greenplum
  3. Linux SSH远程文件/目录传输命令scp
  4. 算法-动态规划(01背包)
  5. nodejs - local installation and global installation
  6. MATLAB中的S-Function的用法(C语言)
  7. Python Day03
  8. js 中的属性以数字开头的属性和取值
  9. 最小化——最速下降法matlab实现
  10. 我需要一个媒体服务器来进行一对多的WebRTC广播吗?
  11. 严蔚敏数据结构习题第五章
  12. Eclipse主题与Monaco字体
  13. Mac安装JDK1.8及环境变量配置
  14. 如何制作DUN-14条形码
  15. outlook服务器邮件满了怎么办,outlook邮箱满了怎么清理_outlook一直提示邮箱满了如何清理-win7之家...
  16. TiDB-explain详解
  17. ct上的img表示什么_X线/CT/MR影像片子上的标识你是否都认识?
  18. Word 2003 长篇文档排版技巧(二)
  19. MYSQL之错误代码----mysql错误代码与JAVA实现
  20. Linux的软件包封装格式有,RED HAT LINUX所提供的安装软件包,默认的打包格式为( )。...

热门文章

  1. matplotlib图表多曲线多纵轴绘制工具方法
  2. 中兴校招软件测试面试题,中兴软创笔试题_中兴软创软件测试笔试题
  3. plc学习入门有什么技巧
  4. 计算机科学基础大熊猫,大学实验室长什么样? 四川南充300多名小朋友走进西华师大感受生命与科学...
  5. 【Linux】动态链接库 cannot find -lxxx问题总结
  6. Linux提示 /usr/bin/ld:cannot find-lxxx 系列解决方法
  7. 使用Python将PDF转换为WORD
  8. 使用CRF++实现命名实体识别
  9. 《⑨也懂系列:GNU Emacs安装教程Ver.2》世界著名的顶级全能文本编辑器
  10. 解决安装office2016后文件图标显示空白图标