15 lines
316 B
Ruby
15 lines
316 B
Ruby
require "prime"
|
|
|
|
def 𝜑(n)
|
|
n.prime_division.inject(1){|res, (pr, exp)| res * (pr-1) * pr**(exp-1) }
|
|
end
|
|
|
|
1.upto 25 do |n|
|
|
tot = 𝜑(n)
|
|
puts "#{n}\t #{tot}\t #{"prime" if n-tot==1}"
|
|
end
|
|
|
|
[100, 1_000, 10_000, 100_000].each do |u|
|
|
puts "Number of primes up to #{u}: #{(1..u).count{|n| n-𝜑(n) == 1} }"
|
|
end
|