素性检查算法

2024-03-27

素性检查可能是数学中的“那些”难题之一。那么,什么是可用于检查大数素数的最好、最快的算法。最粗暴、最慢的方法可能是:

public static bool IsPrime(int i)
{
    for (var x = 2; x < i - 1; i++)
    {
         if (i % x == 0)
         {
             return false;
         }
    }
    return true;
}

最近我读到768位RSA算法已经被暴力破解,使用网格计算阵列。他们如何对一个巨大的素数进行暴力破解?每个处理单元是否占用一系列数字,将其分解并检查该范围内所有数字的素数?


查看素性测试 http://en.wikipedia.org/wiki/Primality_test在维基百科上查找当前算法的指针

关于你的简单实现,请注意,如果数字可以被 2 整除,你可以立即返回 false,这样你就可以只检查奇数。另外,如果找不到 x smaller比 sqrt(i) 。因此,如果您没有首先找到较小的因子,那么您就完成了。

在你必须成群结队之前,你还可以将更多技巧应用于简单的算法https://mathoverflow.net/ https://mathoverflow.net/求助 :)

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

素性检查算法 的相关文章

  • Java:使用indexOf方法根据另一个数组对数组进行排序

    我想根据另一个数组 索引 的排序顺序迭代两个数组 A B 在本例中为 10 34 32 21 String A a b c d String B e f g h int indexes 10 34 32 21 为这里的坏例子道歉 我已经更新
  • 如何在 dijkstra 算法中以 O(log n ) 时间更新优先级队列中的键?

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

    我遇到了这个 它要求计算在 4x3 网格中可以制作特定长度的锁定图案的方式数 并遵循规则 可能有些点不能包含在路径中 有效的模式具有以下属性 图案可以使用第一次接触的点序列来表示 与绘制图案的顺序相同 从 1 1 到 2 2 的图案与图案不
  • Bellman-Ford 算法检测什么?负重还是负循环?

    如果给定一个图 现在我们要从源头计算最短路径 现在 如果一条边具有负权重 但在到达目的地时有边到后边返回到该边 我的意思是如果没有循环 那么我们就没有负循环 但是here http en wikipedia org wiki Bellman
  • 交换两个向量之间的值,使两个向量的 max_element 之和最小

    这是 Codechef 的问题 但请耐心等待 https www codechef com ZCOPRAC problems ZCO16001 https www codechef com ZCOPRAC problems ZCO16001
  • 加密成本高,解密成本低

    我希望该用户 攻击者加密数据并发送给服务器 现在我想要一种与标准算法完全相反的算法 使用快 难以解密 即很难使用服务器发送的密钥来加密密码等数据 以防止随机攻击 但很容易解密这样服务器在验证用户时消耗的时间非常少 但是对于攻击者来说 每次使
  • Qt 计算和比较密码哈希

    目前正在 Qt 中为测验程序构建面向 Web 的身份验证服务 据我了解 在数据库中存储用户密码时 必须对其进行隐藏 以防落入坏人之手 流行的方法似乎是添加的过程Salt https en wikipedia org wiki Salt cr
  • 使用 System.Security.Cryptography 将 Win32 Crypto API 调用转换为 C#

    我接到一项任务 要删除我们产品的一个 dll 并将其替换为纯 C 的 dll 旧的 DLL 是 NET 2 0 托管 C C CLI 它包装了对 Win32 本机加密 API 的调用 新的 DLL 应公开具有相同名称和方法的新对象 但应使用
  • 使到 n 个点的集合的欧氏距离之和最小的点

    我有一组点W x1 y1 x2 y2 xn yn 在 2D 平面上 你能找到一种算法 将这些点作为输入并返回一个点 x y 在 2D 平面上 距以下点的距离之和最小W 换句话说 如果 di Euclidean distance x y xi
  • cordova 使用什么 js“引擎”?

    Cordova 使用什么 JS 引擎 它是特定于平台的还是跨所有平台的一个标准 意味着 iOS 的 safari 和 Android 的 chrome 以及 Windows 可能的 IE 标准 或者跨所有平台的 Cordova JS 引擎
  • C 中的菱形数组排序

    我有以下 C 语言作业 我基本上需要一种方法而不是解决方案 我们有一个 13 x 13 的数组 在数组中 我们有一个需要考虑的菱形形状 该菱形之外的所有内容都初始化为 1 不重要 下面的 5 x 5 数组示例 x x 1 x x x 2 2
  • 在同步函数中使用 javascript `crypto.subtle`

    在javascript中 是否可以使用浏览器内置的sha256哈希 https developer mozilla org en US docs Web API SubtleCrypto digest Converting a digest
  • Python 给定 k 个分区的整数分区

    我正在尝试寻找或开发Python 的整数分区代码 仅供参考 整数分区将给定整数 n 表示为小于 n 的整数之和 例如 整数5可以表示为4 1 3 2 3 1 1 2 2 1 2 1 1 1 1 1 1 1 1 我为此找到了许多解决方案 ht
  • 32 位数字中 1 的数量

    我正在寻找一种在 32 位数字中包含 1 数量的方法 之间不使用循环 任何人都可以帮助我并向我提供代码或算法吗 这样做 提前致谢 See Integer bitCount int http java sun com javase 6 doc
  • 使用C标准数学库精确计算标准正态分布的CDF

    标准 C 数学库不提供计算标准正态分布 CDF 的函数 normcdf 然而 它确实提供了密切相关的函数 误差函数 erf 和互补误差函数 erfc 计算 CDF 的最快方法通常是通过误差函数 使用预定义常量 M SQRT1 2 来表示 d
  • 通过分布式数据库聚合作业优化网络带宽

    我有一个分布式 联合数据库 结构如下 数据库分布在三个地理位置 节点 每个节点集群有多个数据库 关系数据库是 PostgreSQL MySQL Oracle 和 MS SQL Server 的混合体 非关系数据库是 MongoDB 或 Ca
  • 删除队列中的最后一个元素

    我需要删除队列的最后一个元素 我唯一可以使用的操作是 Peek 获取第一个元素而不删除它 Enqueue element 向队列末尾插入一个元素 Dequeue 删除第一个元素 IsEmpty true 或 false 队列是否为空 而且我
  • 高维最近邻搜索的最佳数据结构

    我实际上正在处理高维数据 50 000 100 000 个特征 并且必须对其执行最近邻搜索 我知道随着维度的增长 KD 树的性能很差 而且我还了解到 一般来说 所有空间分区数据结构都倾向于对高维数据执行详尽的搜索 此外 还有两个重要事实需要
  • AES 会话密钥的 RSA 解密失败,并显示“AttributeError:‘bytes’对象没有属性‘n’”

    我正在努力在 Python 3 6 上从 PyCryptodome 实现公钥加密 当我尝试创建对称加密密钥并加密 解密变量时 一切正常 但是当我引入 RSA 和 PKCS1 OAEP 的那一刻 一切就都顺理成章了 session key加密
  • 如何将 pem 公钥转换为 openssl RSA* 结构

    假设我必须像这样公开 pem 密钥 BEGIN PUBLIC KEY MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7vbqajDw4o6gJy8UtmIbkcpnk O3Kwc4qsEnSZp TR fQi

随机推荐

  • C# 参数中的键值对

    我正在寻找一种方法来实现以下功能 myFunction Key value Key2 value 我确信匿名类型的某些东西会非常简单 但我没有看到它 我能想到的唯一解决方案是params KeyValuePair
  • Angular 6 observables - 从 .subscribe() 函数中提取数据并在其他地方使用

    我用可观察到的东西把头撞在墙上 我能找到的几乎所有文档都是较旧的rxjs句法 我有一个可观察的 API 调用 我在其他地方调用它并订阅它 尝试用此数据填充表GET要求 如果我简单地console log my getData函数 它记录订阅
  • 构造函数与类 {proguard] 不匹配

    我在我的应用程序中启用 proguard 每当我构建应用程序时 我都会收到以下错误 Constructor not matched for class com acs nomad d b e 根据我的映射文件 它所指的类如下 package
  • Android - 条码片段结果不显示

    解决了 应用程序工作正常 不会崩溃 但应该将 resultView 文本从 Hasil Scan 更新为扫描结果 但事实并非如此 问题是扫描后文本视图 结果视图 未更新 我使用 DM77 Zxing 条码扫描仪 这是我到目前为止所做的代码
  • 在 Swift 中传递并打印枚举中的所有情况

    考虑这个简单的枚举 enum myEnum String case abc ABC case xyz XYZ 我想编写一个可以打印枚举中所有情况的函数 喜欢 printEnumCases myEnum 预期结果 ABC XYZ 注意 我可以
  • 尝试 UNINSTALL_SHORTCUT 但快捷方式不会消失

    我创建了一个测试活动 它在 Android 主屏幕上安装了它自己的快捷方式 当您单击按钮时 活动应该删除它刚刚创建的相同快捷方式 但是 我似乎没有做任何事情来删除快捷方式 下面是 Java 代码 ShortcutTest java impo
  • 为什么那些 Google 图像处理示例 Renderscript 在 Nexus 5 的 GPU 上运行速度较慢

    我要感谢斯蒂芬在上一篇文章中的快速回复 这是这篇文章的后续问题为什么非常简单的 Renderscript 在 GPU 中的运行速度比在 CPU 中慢 3 倍 https stackoverflow com questions 2038169
  • 无法在 SwiftUI 中获得正确的视图位置

    我试图获取 Button 的 midX 位置 但它总是给我意想不到的结果 我尝试过使用 global local 和 named 坐标空间 但它仍然不起作用 也许还有另一种方法可以在没有 GeometryReader 的情况下获取 UI 元
  • VSTS Build vNext NuGet 自定义包源

    我们有一份 Azure 企业协议 其中包含一个绑定了 VSTS 帐户的主订阅 我们设置了包管理扩展 以便为不同的项目托管一些有用的包 对于每个客户 我们在此 EA 中创建一个订阅并与其绑定一个 VSTS 帐户 我们在后一个订阅的托管构建代理
  • 删除一对多关系中的子项

    非常基本的 Hibernate 3 6 10 实现存在问题 我有两节课 日程表和活动 到达事件的唯一方法是通过时间表 因此我将其建模为具有许多事件的时间表的一对多关系 这是时间表 package com heavyweightsoftwar
  • 避免臭名昭著的“eval(parse())”构造

    好的 所以我正在运行一些循环来处理存储在列表对象中的数据 永远铭记那些臭名昭著的人fortune告诫不要使用eval parse mystring 我想出了这个 Rgames gt bar foo foo fast 1 1 2 3 4 5
  • AVL树:在O(logn)时间内找到两个值之间的键中数据值最小的键

    所以我得到了一棵AVL树 我试图至少找出伪代码 以在两个值 k1 和 k2 之间的所有键中找到具有最小数据值的键 这是假设每个节点中存储的字段数据是整数 我想确保我的伪代码在 O logn 时间内运行 我知道我可以通过在节点结构中存储一个额
  • Activity.getIntent() 可以返回 null 吗?

    Can Activity getIntent https developer android com reference android app Activity html getIntent 永远回来null 文档没有提到这种可能性 所以
  • 在 Symfony2 上的产品中使用 assetic 时找不到 Twitter Bootstrap glyphicons 字体

    我读过很多关于此的文章 但无法让它适用于我的项目 所以基本上我有一个 Symfony2 项目 其中包括 twitter bootstrap v3 在开发模式下一切正常 但当我在产品模式下尝试时 我收到错误消息 说找不到 twitter 引导
  • 从 Php 上下文调用 Node 和 uglifyjs

    我正在尝试 JS minifier 库 UglifyJS2 我使用 homebrew 在我的 mac 上安装了 node js 然后通过 npm 安装了 uglifyjs 在 shell 中一切正常 在路径中找到节点 我手动将 uglify
  • http 参数 MAX_COUNT Wildfly 的默认值是多少?

    我们已经将jboss升级到wildfly 在旧版本中我们遇到了这样的问题post中传递的最大参数个数 https stackoverflow com questions 12277231 maximum number of paramete
  • “未知自定义元素”警告位于组件标记内部,但不在其外部

    我创建了一个像这样的组件
  • Python如何格式化货币字符串

    我有三个浮点数 我想将它们输出为小数点后两位字符串 amount1 0 1 amount2 0 0 amount3 1 87 我想将它们全部输出为一个字符串 分别看起来像 0 10 0 00 和 1 87 我如何有效地做到这一点 直接格式化
  • Javascript:使用非连续键迭代数组

    我需要迭代一个键不连续的数组 var messages new Array messages 0 This is the first message messages 3 This is another message 显然 使用 for
  • 素性检查算法

    素性检查可能是数学中的 那些 难题之一 那么 什么是可用于检查大数素数的最好 最快的算法 最粗暴 最慢的方法可能是 public static bool IsPrime int i for var x 2 x lt i 1 i if i x