Sha256: b830a85b9c4620f1ad12220c3c03d983446ae29e9612f7fe77d49263a86961ae
Contents?: true
Size: 770 Bytes
Versions: 4
Compression:
Stored size: 770 Bytes
Contents
# armstrong_numbers.fy # Calculates & outputs all Armstrong Numbers between 0 and 10000. # See http://en.wikipedia.org/wiki/Narcissistic_number for more # information. class Fixnum { def decimals { """Returns all decimals of a Number as an Array. E.g. 123 decimals # => [1,2,3]""" decimals = [] tmp = self while: { tmp >= 10 } do: { decimals << (tmp modulo: 10) tmp = tmp div: 10 } decimals << tmp decimals } def armstrong? { "Indicates, if a Number is a Armstrong Number." decimals = self decimals n_decimals = decimals size decimals map: |x| { x ** n_decimals } . sum == self } } # output alls Armstrong Numbers between 0 and 10000 0 upto: 10000 do: |i| { { i println } if: $ i armstrong? }
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
fancy-0.7.0 | examples/armstrong_numbers.fy |
fancy-0.6.0 | examples/armstrong_numbers.fy |
fancy-0.5.0 | examples/armstrong_numbers.fy |
fancy-0.4.0 | examples/armstrong_numbers.fy |