Blum integer: Difference between revisions

Content added Content deleted
(Added FreeBasic)
Line 1,079: Line 1,079:
7 => %24.9973:
7 => %24.9973:
9 => %24.9848:</pre>
9 => %24.9848:</pre>
=={{header|Ruby}}==
<syntaxhighlight lang="ruby" line>require 'prime'

BLUM_EXP = [1, 1]
blums = (1..).step(2).lazy.select do |c|
next if c % 5 == 0
primes, exps = c.prime_division.transpose
exps == BLUM_EXP && primes.all?{|pr| (pr-3) % 4 == 0}
end

n, m = 50, 26828
res = blums.first(m)
puts "First #{n} Blum numbers:"
res.first(n).each_slice(10){|s| puts "%4d"*s.size % s}

puts "\n#{m}th Blum number: #{res.last}"</syntaxhighlight>
{{out}}
<pre>First 50 Blum numbers:
21 33 57 69 77 93 129 133 141 161
177 201 209 213 217 237 249 253 301 309
321 329 341 381 393 413 417 437 453 469
473 489 497 501 517 537 553 573 581 589
597 633 649 669 681 713 717 721 737 749

26828th Blum number: 524273
</pre>


=={{header|Wren}}==
=={{header|Wren}}==