gpt4 book ai didi

ruby - ruby 中的 fixnum 和素数

转载 作者:数据小太阳 更新时间:2023-10-29 07:22:18 26 4
gpt4 key购买 nike

在我开始自己写这篇文章之前,有没有人看到过以下行为的 ruby​​ 实现?

puts 7.nextprime();     #=>  11
puts 7.previousprime(); #=> 5
puts 7.isprime(); #=> true

显然,这种事情对于大数来说是丑陋的,但对于从不超过几千的整数(对我来说是常见的例子),一个明智的实现是可行的,因此问题。

最佳答案

Ruby 带有一个内置的 Prime 类,它允许您从 1 开始遍历素数,但我看不到用 1 以外的起始值初始化它的方法,也没有谓词检查判断一个数是否为素数。我会说去做吧,尽管您应该记住 Ruby 中的数学可能很慢,如果性能是一个因素,您最好考虑将其编写为 C 或 Java 扩展。这是 how to use RubyInline to generate primes in C 的示例.

此外,我建议您避免使用方法名称 7.isprime - Ruby 中的约定是 7.prime?

关于ruby - ruby 中的 fixnum 和素数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/719049/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com