Ruby 解决方案中的 Project Euler #3 超时

2023-11-30

我正在研究一些欧拉项目问题来练习使用 Ruby 解决问题。我针对问题 3 提出了以下解决方案,虽然它适用于较小的数字,但它似乎永远不会返回较大数字的值。这是因为与 Bignum 有关吗?有人可以向我描述为什么它超时了,以及解决这个问题的更好方法(最好是关于幕后发生的事情的推理/信息。我正在尝试理解)

欧拉计划问题:

13195 的质因数是 5、7、13 和 29。 数字 600851475143 的最大质因数是多少?

我的解决方案:

def primecheck(number)
  (2...number).each { |x| return false if number % x == 0}
  true
end

def largestprime(number1)
  factors = []
    (1..number1).each do |i|
      if number1 % i == 0 && primecheck(i)
        factors << i
      end
    end
puts "The answer is #{factors.last}"
end

largestprime(600_851_475_143)

Hint:一旦找到素因数,就可以除以它。这大大减少了您必须检查的剩余潜在除数的范围。

使用你的第一个例子:

13195/5 = 2639,
2639/7  = 377,
377/13  = 29,
29/29   = 1, done.

这样,我们只需检查最多 29 个,而不是一直检查到 13195。

有一些方法可以进一步改进它,但仅此优化就足以解决这个简单的问题。

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

Ruby 解决方案中的 Project Euler #3 超时 的相关文章

  • git,Heroku:预接收挂钩被拒绝

    我正在设置 git 存储库并尝试将其链接到 Heroku 当我运行命令时 git push heroku master 我收到 Counting objects 7 done Delta compression using up to 2
  • Rails 嵌套 with_option :if 在验证中使用

    validate updatable First validation there is with options if gt Proc new object object errors empty do updatable updatab
  • Rails JSON 多重嵌套关联

    我有一个对象 测试列表 其中包含问题和奖励问题 每个问题都有一个主题模型 我试图将它们全部包含在 JSON API 中 但我不断收到奇怪的难以理解的语法错误消息 我可以让它处理问题和主题或奖励问题和主题 但不能同时处理两者 这是我现在所拥有
  • 如何使用 nokogiri 解析 XML 而不丢失 HTML 实体?

    如果您查看后面部分中的输出 ruby 会删除所有 html 实体 如何使用 nokogiri 解析 XML 而不丢失 HTML 实体 BEFORE
  • Ruby lambda 的过程和“instance_eval”

    当我将 lambda 传递给instance eval作为块 它似乎传递了一个额外的参数 lamb gt puts hi proc Proc new puts hi instance eval lamb gt gt ArgumentErro
  • Ruby 中 block 和 &block 的区别

    为什么有时我应该在接受块的函数内使用 block 而有时应该使用 block block只是一个局部变量 block是对传递给该方法的块的引用 def foo block nil p block end foo gt nil foo tes
  • setInterval() 相当于 ruby

    在 JavaScript 中你可以这样做 setInterval func delay 我似乎无法在谷歌上找到任何我真正想要的东西 红宝石有等效的吗 提前致谢 你可以做类似的事情 Thread new do loop do sleep de
  • 葡萄错误处理策略?

    我正在使用 Grape 和 Rails 创建 REST API 我已经有了基本的架构 并且正在寻找可以 清理 东西的地方 其中之一是错误处理 处理 我目前正在修复整个 API 的 root rb GRAPE API 基类 文件中的错误 我对
  • 使用 gem 添加辅助方法

    我找到了很多有关添加表单辅助方法的信息 请参阅我的其他问题之一 但我找不到有关添加辅助方法的任何信息 就好像它们是在application helper rb 我尝试过复制application helper rb从 Rails 应用程序到
  • 无||假与假||红宝石中的零

    nil false回报false and false nil回报nil 有人对此有解释吗 在 Ruby 中 一切都是表达式 表达式将返回其中计算的最后一个值 对于您的两个示例 左侧 表达式的计算结果为假值 因此 Ruby 然后计算右侧并返回
  • 使用自定义令牌进行 Firebase 身份验证

    我有一个 firebase 项目 我试图从我的 Rails 服务器进行身份验证 按照文档上的说明使用 ruby jwt 库创建自定义令牌 但我不断收到相同的错误 auth invalid custom token 自定义令牌格式不正确 请检
  • 将对象数组转换为 ActiveRecord::Relation

    我有一个对象数组 我们称其为Indicator 我想运行 Indicator 类方法 def self subjects该数组上的种类 范围等 我知道在一组对象上运行类方法的唯一方法是让它们成为 ActiveRecord Relation
  • 在 Ruby 中按名称获取一个类?

    有一个包含模块和类名称的字符串 例如 Admin MetaDatasController 我如何获得实际课程 如果没有模块 以下代码将起作用 Kernel const get MetaDatasController 但它与模块中断 ruby
  • Ruby IMAP 库:如何显示文件夹中的所有邮件?

    我需要一个脚本来获取所有文件夹中的所有电子邮件 并对其及其附件进行本地备份 here https www ombulabs com blog ruby imap a comprehensive guide to interacting wi
  • Ruby:如何将多个方法调用与“发送”链接在一起

    必须有一种内置的方法来做到这一点 对吧 class Object def send chain arr o self arr each a o o send a return o end end 我刚刚遇到了这个 它确实需要注入 def s
  • Ruby 中的图像抓取

    如何使用 Nokogiri 抓取特定 URL 上存在的图像 如果有比 Nokogiri 更好的选择 请提出建议 css图像标签是 profilePic img 如果它只是一个 img 带有网址 PAGE http site com page
  • 如何在 Ubuntu 中使用 gems?

    我最近升级到 Ubuntu 9 04 但在使用 gems 时遇到问题 我使用 apt get 安装了 Ruby Rubygems 和 Rails 这rails命令确实有效 然后我安装了 capistrano 和其他 gem 例如 herok
  • 如何将上传的二进制文件 (ASCII-8BIT) 嵌入 XML (UTF-8) 中?

    我有一个通过常规上传的文件form for 这给了我一个ActionDispatch Http UploadedFile我可以调用的 params 哈希中的对象 read来获取内容 我现在需要将该文件嵌入到 XML 文档中 我现在使用常规
  • 在 Rails 6 上添加外部 js 文件

    我在 app gt javascript gt packs 下创建了一个名为 custom 的文件夹 并放置以下外部 js metisMenu min js startmin js 然后在 app gt javascript gt pack
  • 登录西纳特拉?

    我无法弄清楚如何使用 Sinatra 记录消息 我不想记录请求 而是在我的应用程序中的某些点记录自定义消息 例如 当获取 URL 时 我想记录 Fetching url 这就是我想要的 指定日志级别的能力 例如 logger info Fe

随机推荐

  • Spring Boot yaml 文件中数字类型的 @Value

    I got a data yml在以下结构的资源文件夹中 main header info 3600L 我使用Spring Boot版本2 4 2 我想注入属性main header1 info对于一个字段 我按以下方式执行此操作 Comp
  • 如何查找包含 的存储过程?

    我需要在 SQL Server 2008 中搜索存储过程 其中可能包含 数据库字段的名称或变量名称 SELECT ROUTINE NAME ROUTINE DEFINITION FROM INFORMATION SCHEMA ROUTINE
  • IE浏览器中的JQuery选择框焦点问题

    下面的 input 与标签匹配 该代码在所有浏览器中都可以正常工作 除了在 Internet Explorer 中 我需要单击选择框两次才能获得下拉列表 input focus function var rc this parents rc
  • 如何将密钥信息保留在 Git 存储库之外

    我的存储库中有一些文件 其中一个包含 Adafruit 秘密密钥 我想使用 Git 来存储我的存储库 但我不想发布密钥 保守秘密的最佳方法是什么 而不必每次提交和推动某件事时都将其清空 根据您想要实现的目标 您可以选择以下方法之一 将文件保
  • 使用 d3.js 在强制布局中添加和删除节点时出现问题

    我试图通过从 Zabbix API 获取数据来可视化服务器可用性 以及随后的其他事情 一旦可行 您可以在 Zabbix API 文档中的 此处 1 中查看有关返回数据的示例 获取数据不是问题 但我认为 d3 js 的数据连接遇到了一些问题
  • 为什么 SQL 查询的结果没有按照我期望的顺序返回?

    如果将项目插入表中 然后我编写一个查询 例如select from table 为什么结果与我期望的顺序不一样 可以通过在语句中使用 Order by 子句来强制查询的顺序 SQL 数据库实际上并不了解您放置内容的顺序 或者按照给定顺序存储
  • 用于检查 API 与 Android 的兼容性的 Maven 插件

    我正在寻找一个 Maven 插件 可以检查 Jar Class 文件是否符合 Android 指定的 API 级别 例如 所有类和方法都可以在 Android API 中解析吗 有人知道这样的插件吗 DX 工具似乎没有提供这样的功能 或者我
  • mysqldb ..“NoneType”对象不可下标

    这段代码在以下情况下工作正常cur execute and db commit 行被注释掉 即 如果我所做的只是打印查询 则该程序将运行 n 行 问题似乎出现在这里 player categories statistics cur fetc
  • 将电子邮件地址设置为 ASP.NET 会员提供商中的用户名

    我想在会员 api 中使用电子邮件地址作为用户名 而不是接受用户名 我希望用户可以使用电子邮件地址注册我的网站 并且可以使用电子邮件 ID 和密码而不是用户名和密码登录 这就是我们所做的 因此它是可重用的 我们可以在 web config
  • 内插 NA 值

    我有两组与时间无关的样本 我想合并它们并计算缺失值 在我不具备两者价值观的时代 简化示例 A lt cbind time c 10 20 30 40 50 60 70 80 90 100 Avalue c 1 2 3 2 1 2 3 2 1
  • mechanize 出现“内存不足”错误

    我试图从网站上一页一页地抓取一些信息 基本上这就是我所做的 import mechanize MechBrowser mechanize Browser Counter 0 while Counter lt 5000 Response Me
  • 如何以编程方式在 Windows 8.1 手机中查找 IMEI 号码?

    我正在尝试以编程方式在 Windows Phone 8 1 应用程序中查找 IMEI 号码 并且我引用了许多链接 但找不到任何明确的内容 我无法找到 Windows 8 1 手机应用程序的 Tapi dll 所以 Tapi 库有其他选择吗
  • 无法在 Mac OS 上安装任何 ruby​​ gems - SSL_connect 错误

    我的环境是Mac OS 10 10 5 ruby版本2 2 4 或2 2 2或2 2 0 gem 升级后 是2 6 7 rvm版本1 27 0 即使在过去的几天里 这也有几个重复的内容 但这比我可以在评论中添加的信息更多 在任何版本的 ru
  • 如何检查 Android 设备上的 wifi 或 3g 网络是否可用

    在这里 我的 Android 设备同时支持 wifi 和 3g 在特定时间 该设备上可用的网络 因为我的要求是3g可用时我必须上传少量数据 当 wifi 可用时 必须上传全部数据 所以 我必须检查连接是wifi还是3g 请帮我 提前致谢 我
  • 是否可以就地修改文件中的行?

    是否可以逐行解析文件 并在浏览各行时就地编辑行 是否可以逐行解析文件 并在浏览各行时就地编辑行 可以使用备份文件作为 stdlib 进行模拟fileinput module does 这是一个示例脚本 它删除不满足的行some condit
  • 使用 Mandrill 发送时是否可以指定我自己的 Message-Id 电子邮件标头?

    我正在使用 Mandrill 发送电子邮件 并且我想自己设置 Message ID 我现在看到这样的ID Message Id lt 30152892 2015031118380 email protected gt 我想做的是找出为什么
  • 尝试为 Azure Web App 添加 SSL 绑定时没有证书

    我正在尝试为作为 API 应用程序主机的 Azure Web 应用程序创建 SSL 绑定 导航到相关 Web 应用程序的 自定义域和 SSL 后 我添加了自定义域名 admin api foo com 并上传了我的通配符证书 foo com
  • C++中最随机的函数是什么? [关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 我用过 include
  • 如何将Wordpress 中的帖子索引页面移动到另一个文件而不是index.php?

    Wordpress 中的索引页显示所有帖子 没有评论 我想让 index php 成为静态页面 不是博客 我已经这样做了 但我不知道如何将帖子索引移动到其他页面 例如 blog php 有什么建议么 创建两个新页面 博客 和 主页 在阅读设
  • Ruby 解决方案中的 Project Euler #3 超时

    我正在研究一些欧拉项目问题来练习使用 Ruby 解决问题 我针对问题 3 提出了以下解决方案 虽然它适用于较小的数字 但它似乎永远不会返回较大数字的值 这是因为与 Bignum 有关吗 有人可以向我描述为什么它超时了 以及解决这个问题的更好