查找两个数字之间素数个数的快速算法

2024-04-14

我的问题简化为找到两个给定数字之间的素数数量。我的范围可以大到1 to (1000)!因此我需要一些数学优化。

显然,在这种情况下,筛法会太慢。是否有任何可以应用的数学优化 - 例如,采用这个大空间的较小子集并对其余数字进行推断。

P.S:看起来我可能已经走进了死胡同——但我所寻找的只是一些可能有助于解决这个问题的优化。而且,我只是在寻找单线程方法。

编辑:我一直在考虑并且可以解决许多与素数相关的大问题的一种方法是让某人维护一个全局素数表并使其可用于查找。 PrimeGrid 项目的人们可以为此做出有益的贡献。


既然你想达到最高1000!(阶乘)。使用当前技术上的当前已知方法,您将无法获得准确的结果。

The 素数计数功能 http://en.wikipedia.org/wiki/Prime-counting_function仅对少数值进行了精确评估,最多可达10^24。所以你不可能击中1000!.


但既然你提到了近似值可能就可以了,你可以使用对数积分 http://en.wikipedia.org/wiki/Logarithmic_integral_function作为素数计数函数的近似。

这是基于素数定理 http://en.wikipedia.org/wiki/Prime_number_theorem其中说素数计数函数渐近于对数积分.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查找两个数字之间素数个数的快速算法 的相关文章

  • 最近点对算法

    我目前正在致力于用 C 实现最接近的点对算法 也就是说 给定一个点列表 x y 找到具有最小欧氏距离的点对 我对此进行了研究 我对算法的理解如下 如果我错了 请纠正我 将点数组从中间拆分 递归地找到左半部分和右半部分距离最小的点对 按 y
  • 贪心算法的使用示例?

    贪心算法有什么用 一个真实的例子 最小生成树 Prim http en wikipedia org wiki Prim s algorithm的算法和克鲁斯卡尔的 http en wikipedia org wiki Kruskal s a
  • 关于合并排序代码中的组合步骤的困惑

    我有一个关于数组上的合并排序如何工作的问题 我理解 划分 步骤 它将输入数组划分为 1 长度的元素 然而 当谈到 合并 部分 组合步骤 时 我感到困惑 例如 给定输入 3 5 1 8 2 除法过程将产生 5 个元素 3 5 1 8 2 我只
  • 如何在从左到右、从上到下排序的二维数组中搜索数字?

    我最近收到了这个面试问题 我很好奇有什么好的解决方案 假设我有一个二维数组 其中所有 数组中的数字在增加 从左到右 从上到下的顺序 底部 搜索和搜索的最佳方式是什么 判断目标号码是否在 大批 现在 我的第一个倾向是使用二分搜索 因为我的数据
  • 树中的节点是否被视为其自己的祖先?

    我想知道计算机科学背景下对 祖先 定义的共识是什么 我问只是因为在算法简介 http en wikipedia org wiki Introduction to Algorithms 第二版 第 14 页 第259章 有算法的描述Tree
  • 在 C# 整数运算中,a/b/c 是否始终等于 a/(b*c)?

    设a b和c为非大正整数 对于 C 整数算术 a b c 是否始终等于 a b c 对我来说 在 C 中它看起来像 int a 5126 b 76 c 14 int x1 a b c int x2 a b c 所以我的问题是 x1 x2对于
  • 在 Python 中删除表达式树及其每个子表达式树中第一个元素周围的括号

    目标是实现简化操作 删除表达式树及其每个子表达式树中第一个元素周围的括号 其中表达式作为括在各个括号中的字符串输入给出 这必须适用于任意数量的括号 例如 12 3 45 6 gt 123 45 6 删除 12 周围的括号 然后删除 45 周
  • 如何检查一个盒子是否适合另一个盒子(允许任何旋转)

    假设我有两个盒子 每个盒子都是一个长方体 http en wikipedia org wiki Rectangular cuboid aka长方体 我需要编写一个函数来决定盒子是否具有尺寸 一 二 三 可以装入具有尺寸的盒子中 甲 乙 丙
  • Android:如何获取小数点后的两位数?不想截断值

    如何获取小数点后仅两位数的双精度值 例如 如果 a 190253 80846153846 那么结果值应该像 a 190253 80 尝试 我尝试过这个 public static DecimalFormat twoDForm new Dec
  • 为什么在 Javascript 中添加两位小数会产生错误的结果? [复制]

    这个问题在这里已经有答案了 可能的重复 JavaScript 的数学有问题吗 https stackoverflow com questions 588004 is javascripts math broken 为什么 JS 搞砸了这个简
  • 如何在给定目标大小的情况下在 python 中调整图像大小,同时保留纵横比?

    首先 我觉得这是一个愚蠢的问题 对此感到抱歉 目前 我发现计算最佳缩放因子 目标像素数的最佳宽度和高度 同时保留纵横比 的最准确方法是迭代并选择最佳缩放因子 但是必须有更好的方法来做到这一点 一个例子 import cv2 numpy as
  • 当目标是查找某个字符串的所有出现情况时,KMP 最坏情况的复杂度是多少?

    我还想知道哪种算法在查找另一个字符串中所有出现的字符串时具有最坏情况的复杂性 博耶 摩尔算法似乎具有线性时间复杂度 KMP 算法在查找字符串中所有出现的模式时具有线性复杂度 如 Boyer Moore 算法1 如果您尝试在 aaaaaaaa
  • 检查数独字段的很酷的算法?

    有谁知道一个简单的算法来检查数独配置是否有效 我想出的最简单的算法是 对于大小为 n 的板 伪代码 for each row for each number k in 1 n if k is not in the row using ano
  • C++ 中的矩阵类

    我正在做一些线性代数数学 并且正在寻找一些真正轻量级且易于使用的矩阵类 可以处理不同的维度 基本上是 2x2 2x1 3x1 和 1x2 我认为此类可以使用模板来实现 并在某些情况下使用一些专门化来提高性能 有人知道任何可用的简单实现吗 我
  • 为无向无权图实现推重标签算法 s-t 最小割边

    我正在寻找一个好的解决方案来在无向和未加权图中找到 s t 最小切割边 我想使用推送重新标记算法 但我不确定如何实现它以在无向和未加权图上找到最小割 在每对顶点之间有两条反向边 并在所有边上赋予相同的权重 并应用推送重新标记算法 我可以用这
  • 如何在 dijkstra 算法中以 O(log n ) 时间更新优先级队列中的键?

    过去一周我一直在研究 dijkstra 算法 我在 java 中有正确的运行代码 它使用数组来计算标准 findMin 函数 该函数为您提供距离最小的顶点 显然它是 O n 现在我希望使用优先级队列 最小堆 来实现它 我的思考过程是 whi
  • 用圆形雷达数学方法表示点

    我正在编写一个简单的应用程序 它可以向您显示您周围的朋友 但不是在法线地图中 而是在像 UI 这样的真正圆形雷达上 https i stack imgur com Au3IP png https i stack imgur com Au3I
  • 两个非嵌套循环的大 O 表示法

    对于两个非嵌套的 for 循环 大 O 表示法是什么 Example for int i 0 i
  • C# 中四舍五入到偶数

    我没有看到 Math Round 的预期结果 return Math Round 99 96535789 2 MidpointRounding ToEven returning 99 97 据我了解 MidpointRounding ToE
  • 反转二进制网络

    如何反转二元方程 以便找到哪些输入将产生给定的输出 Example Inputs i0 through i8 Outputs o0 through o8 Operators XOR AND 二元方程 1 i0 1 i1 0 i2 1 i3

随机推荐

  • 字符数组的初始值设定项字符串太长

    我不断收到此错误 字符数组的初始化字符串太长 即使我将 num 和 length 更改为 1 它仍然会出现错误 include
  • 如何修复:'MongoError:身份验证失败'@MongoDB Atlas

    我正在连接到 MongoDB Atlas 并收到身份验证失败错误 这是我的连接字符串 mongodb user
  • Java嵌套内部类访问外部类变量

    嵌套内部类ABar和BBar是否可以访问主类的变量 例如 public class Foo public ABar abar new ABar public BBar bbar new BBar public int someCounter
  • 在 MySQL 中的 IN () 中使用逗号分隔的字符串

    如果用户定义的变量 x是一串逗号分隔的数字 例如 1 2 4 有没有办法在IN 功能 具体来说 SET x 1 2 4 SELECT FROM t WHERE c IN x 不选择 t 中 c 等于 1 或 2 或 4 的行 您不能直接使用
  • 防止 AngularJS 中重复的 ui-view

    情况 我的模板中有一个 ui view 组件 div div 我为此视图定义了状态 A 和 B 问题 When I go from state A gt B the rendered DOM looks like this 我在屏幕上看到了
  • 当观察者希望观察不同的项目时实现观察者模式

    下面 当观察者希望观察不同的项目时 我尝试为观察者模式编写 sudo 代码 忽略语法错误 我想知道这是否是实现这一点的正确方法 如果没有 请提出更好的方法 Used by the subject for keeping a track of
  • 如何控制 tkinter 组合框选择突出显示

    我写了一个小型法拉转换器来学习 GUI 编程 它效果很好 看起来不错 唯一的问题是我似乎不知道如何控制我的屏幕上出现的这种奇怪的突出显示ttk Combobox选择 我确实用过ttk Style 但它只改变了颜色ttk Combobox背景
  • 将环境变量传递给ant任务,不带ANT_OPTS

    我正在调用 Jasper ant 任务 并且我想设置org apache jasper compiler Parser STRICT QUOTE ESCAPING环境变量 我可以将 ANT OPTS 设置为 Dorg apache jasp
  • 自动释放或不自动释放

    在核心数据编程指南中的以下代码示例中 创建了 NSFetchRequest 使用 autorelease 而 NSSortDescriptor 不是使用 autorelease 创建的 为什么 NSSortDescriptor 不使用 au
  • 带或不带句柄的嵌套 classdef? [复制]

    这个问题在这里已经有答案了 我试图在 Matlab 中使用可更新的对象 类 和嵌套类 我观察到一种似乎是由于句柄状态引起的行为 我写了2个类testA and testB testB是一个调用该类的主类testA作为财产 classdef
  • 在 C++ 中对命令行参数进行排序

    我想对命令行参数数组进行排序 所有参数都是整数 这是我的代码 但它不起作用 include
  • 如何检测 Android 上的 SSL 固定

    我已经安装并配置了sslsplit并生成根证书 并将其添加到手机 Android 中 如何检测 SSL 固定 当您在移动设备和与之通信的服务器之间放置代理时 使用 SSL 证书固定或公钥固定的应用程序应该无法与服务器通信 因为它将接收 ss
  • 重写 has_many 关联 getter

    一个用户可以拥有多辆车 User has many cars Car belongs to user 每次我打电话 user cars它返回的列表cars按默认搜索顺序 如果我希望关联在某个任意字段上排序 我可以这样做 class User
  • Android 保存并从 Sqlite 数据库获取图像

    亲爱的 Android 如何保存图像并从我使用 Android Studio 的 Sqlite 数据库获取图像 可能为时已晚 但对未来的读者有用 import android content Context import android d
  • 删除 ionic 3 中的滑动手势

    我想创建一个离子删除滑动手势 但它似乎不起作用 This is my home page i called it myPage html
  • ASP.NET MVC - 值类型的自定义验证消息

    当我使用 UpdateModel 或 TryUpdateModel 时 MVC 框架足够智能 可以知道您是否尝试将 null 传递到值类型中 例如 用户忘记填写所需的生日字段 不幸的是 我不知道如何覆盖默认消息 需要一个值 在摘要中输入更有
  • 迄今为止的 Groovy 字符串

    我正在用 Groovy 编码 我目前正在尝试将我拥有的字符串转换为日期 而不必做任何过于繁琐的事情 String theDate 28 09 2010 16 02 43 def newdate new Date parse d M yyyy
  • 从 SHA256 解密

    我有将字符串加密为 sha256 并紧邻 base64 的代码 public static string Sha256encrypt string phrase UTF8Encoding encoder new UTF8Encoding S
  • 如何禁用可创建的反应选择组件?

    我不知道使用什么道具来禁用可创建的 React select 组件 它只是丢失了吗 我尝试了常规的 isDisabled 属性但没有成功
  • 查找两个数字之间素数个数的快速算法

    我的问题简化为找到两个给定数字之间的素数数量 我的范围可以大到1 to 1000 因此我需要一些数学优化 显然 在这种情况下 筛法会太慢 是否有任何可以应用的数学优化 例如 采用这个大空间的较小子集并对其余数字进行推断 P S 看起来我可能