情况:
我真的很喜欢:
注意:
结束评论:
问题是我知道如何手动/用计算器解决这些方程,但我不知道如何在代码中解决它们.
由于您似乎正在尝试实现阿特金筛,那么您可能也意识到 4x^2+y^2=n 只是三个方程中的第一个。我不想破坏你的乐趣,因此下面只实现了这一点。如果您遇到困难,请评论此答案,我会回复您。
max = 100
primes = Array.new(max + 1) { false }
sqrt = Math.sqrt(max)
1.upto(sqrt) do |x|
1.upto(sqrt) do |y|
n = 4 * x**2 + y**2
primes[n] ^= true if n <= max && (n % 12 == 1 || n % 12 == 5)
end
end
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
251 次 |
最近记录: |