Jacobsthal numbers: Difference between revisions
Content added Content deleted
(→{{header|Ruby}}: Add Ruby) |
|||
Line 2,498: | Line 2,498: | ||
</pre> |
</pre> |
||
=={{header|Ruby}}== |
|||
<syntaxhighlight lang="ruby">require 'prime' |
|||
def jacobsthal(n) = (2**n + n[0])/3 |
|||
def jacobsthal_lucas(n) = 2**n + (-1)**n |
|||
def jacobsthal_oblong(n) = jacobsthal(n) * jacobsthal(n+1) |
|||
puts "First 30 Jacobsthal numbers:" |
|||
puts (0..29).map{|n| jacobsthal(n) }.join(" ") |
|||
puts "\nFirst 30 Jacobsthal-Lucas numbers: " |
|||
puts (0..29).map{|n| jacobsthal_lucas(n) }.join(" ") |
|||
puts "\nFirst 20 Jacobsthal-Oblong numbers: " |
|||
puts (0..19).map{|n| jacobsthal_oblong(n) }.join(" ") |
|||
puts "\nFirst 10 prime Jacobsthal numbers: " |
|||
res = (0..).lazy.filter_map do |i| |
|||
j = jacobsthal(i) |
|||
j if j.prime? |
|||
end |
|||
puts res.take(10).force.join(" ") |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre>First 30 Jacobsthal numbers: |
|||
0 1 1 3 5 11 21 43 85 171 341 683 1365 2731 5461 10923 21845 43691 87381 174763 349525 699051 1398101 2796203 5592405 11184811 22369621 44739243 89478485 178956971 |
|||
First 30 Jacobsthal-Lucas numbers: |
|||
2 1 5 7 17 31 65 127 257 511 1025 2047 4097 8191 16385 32767 65537 131071 262145 524287 1048577 2097151 4194305 8388607 16777217 33554431 67108865 134217727 268435457 536870911 |
|||
First 20 Jacobsthal-Oblong numbers: |
|||
0 1 3 15 55 231 903 3655 14535 58311 232903 932295 3727815 14913991 59650503 238612935 954429895 3817763271 15270965703 61084037575 |
|||
First 10 prime Jacobsthal numbers: |
|||
3 5 11 43 683 2731 43691 174763 2796203 715827883 |
|||
</pre> |
|||
=={{header|Rust}}== |
=={{header|Rust}}== |
||
<syntaxhighlight lang="rust">// [dependencies] |
<syntaxhighlight lang="rust">// [dependencies] |