Skip to content

Instantly share code, notes, and snippets.

@Davidslv
Last active December 16, 2015 22:20
Show Gist options
  • Save Davidslv/5506252 to your computer and use it in GitHub Desktop.
Save Davidslv/5506252 to your computer and use it in GitHub Desktop.
This method counts all the numbers that are multiples of the numbers you give.
# If we list all the natural numbers below 10 that are multiples of 3 or 5,
# we get 3, 5, 6 and 9. The sum of these multiples is 23.
# Find the sum of all the multiples of 3 or 5 below 1000.
def multiples(number, *multipliers)
count = 0
list = []
# This range excludes the number you give
# Natural numbers starts at 1
(1...number).each do |num|
multipliers.each do |mult|
next unless num % mult == 0
unless list.include?(num)
count += num
list << num
end
end
end
count
end
@Davidslv
Copy link
Author

Davidslv commented May 2, 2013

Benchmark

require 'benchmark'
Benchmark.bmbm { |b| b.report { multiples(1000, 3,5)} }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment