Sha256: 903e4a0b213c2cf55df16867173627b43d57bfa3803fde1ac2a6802fd532f855

Contents?: true

Size: 201 Bytes

Versions: 3

Compression:

Stored size: 201 Bytes

Contents

# coding: utf-8
class Integer
  def φ
    return 1 if self == 1
    return self - 1 if prime?
    (prime_factors.uniq.map{|f| 1 - f.reciprocal}.reduce(:*) * self).to_i
  end

  alias :totient :φ
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
numb-0.185.0 lib/numb/totient.rb
numb-0.184.0 lib/numb/totient.rb
numb-0.181.0 lib/numb/totient.rb