main
1#2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any remainder.
2
3#What is the smallest positive number that is evenly divisible by all of the numbers from 1 to 20?
4describe "problem five" do
5 def divisible_by?(number)
6 return number % 2 == 0 &&
7 number % 3 == 0 &&
8 number % 4 == 0 &&
9 number % 5 == 0 &&
10 number % 6 == 0 &&
11 number % 7 == 0 &&
12 number % 8 == 0 &&
13 number % 9 == 0 &&
14 number % 10 == 0 &&
15 number % 11 == 0 &&
16 number % 12 == 0 &&
17 number % 13 == 0 &&
18 number % 14 == 0 &&
19 number % 15 == 0 &&
20 number % 16 == 0 &&
21 number % 17 == 0 &&
22 number % 18 == 0 &&
23 number % 19 == 0 &&
24 number % 20 == 0
25 end
26
27 def smallest
28 n = 20
29 loop do
30 return n if divisible_by?(n)
31 n = n + 20
32 end
33 end
34
35 it 'produces the answer' do
36 expect(smallest).to eql(232792560)
37 end
38end