Tag: 素数

了解这个Ruby程序以查找素数

我是Ruby的新手,我一直在阅读这个程序,它找到了我们的素数。 这个例子出现在一本教科书中,在讨论了循环(while&until)之后,它展示了这个例子。 我发现它很混乱。 prime_flag的目的是什么? 为什么J设为2? (j <= i / 2) – 这个我不明白。 j = j + 1 – 这是什么目的。 我为这个长期问题道歉,但非常感谢任何帮助。 谢谢,麻烦您了。 # Initialize our counter i = 1 # i: [0, 100] while (i <= 100) # Initialize prime flag prime_flag = true j = 2 # Test divisibility of i from [0, i/2] while […]

如何生成前n个素数?

我正在学习Ruby并做一些数学的东西。 我想做的其中一件事是生成素数。 我想生成前十个素数和前十个素数。 我测试一个数字是否有素数是没有问题的,但是想知道生成这些数字的最佳方法是什么? 我使用以下方法来确定数字是否为素数: class Integer < Numeric def is_prime? return false if self <= 1 2.upto(Math.sqrt(self).to_i) do |x| return false if self%x == 0 end true end end

为什么我的ruby编码找不到素数?

我想知道为什么我的代码不起作用。 我是代码世界的新手,所以如果有人能为我解决这个问题,那么最好如何解决它谢谢! 我正在尝试创建一个程序,它将指出我指定的数字列表中的素数。 请告诉我为什么这两个代码不起作用! 我很困惑第二个代码试图做什么,因为我发现它是别人对我的问题的解决方案。 我是编码的新手,但我喜欢它,所以请耐心等待! 这是我的简单代码: def is_prime?(*nums) i = 2 nums.each do |num| while i < num if num % i == 0 puts "#{num} is not a prime" else puts "#{num} is a prime" end i += 1 end end end ….为什么这不起作用? 我怎样才能让它发挥作用? 它一直给我一个奇怪的答案,因为它卡在我的第一个数字上并且似乎没有处理我插入的下一个数字: puts is_prime?(21, 23, 17) 这是我无法正确运行的第二个代码。 有人可以打破这里发生的事情吗? 我怎样才能让它发挥作用? def […]