First five problems in Ruby and (mostly) simplified to one-liners.
This commit is contained in:
parent
2ed479ddb7
commit
68062715c0
9 changed files with 63 additions and 0 deletions
10
Ruby/1-a.rb
Executable file
10
Ruby/1-a.rb
Executable file
|
@ -0,0 +1,10 @@
|
|||
#!/usr/bin/env ruby
|
||||
|
||||
sum = 0;
|
||||
(1..999).each do |i|
|
||||
if(i % 3 == 0 || i % 5 == 0) then
|
||||
sum += i
|
||||
end
|
||||
end
|
||||
|
||||
puts sum
|
6
Ruby/1-b.rb
Executable file
6
Ruby/1-b.rb
Executable file
|
@ -0,0 +1,6 @@
|
|||
#!/usr/bin/env ruby
|
||||
|
||||
sum = 0;
|
||||
(1..999).each { |i| sum += i if (i % 3 == 0 || i % 5 == 0) }
|
||||
|
||||
puts sum
|
3
Ruby/1-c.rb
Executable file
3
Ruby/1-c.rb
Executable file
|
@ -0,0 +1,3 @@
|
|||
#!/usr/bin/env ruby
|
||||
|
||||
puts (1...1000).select{ |i| i % 3 == 0 || i % 5 == 0 }.inject(:+)
|
11
Ruby/2-a.rb
Executable file
11
Ruby/2-a.rb
Executable file
|
@ -0,0 +1,11 @@
|
|||
#!/usr/bin/env ruby
|
||||
|
||||
sum = 0
|
||||
i = j = 1
|
||||
|
||||
until (i >= 4000000)
|
||||
i, j = j, i + j
|
||||
sum += i if(i.even?)
|
||||
end
|
||||
|
||||
puts sum
|
3
Ruby/2-conrad.rb
Executable file
3
Ruby/2-conrad.rb
Executable file
|
@ -0,0 +1,3 @@
|
|||
#!/usr/bin/env ruby
|
||||
|
||||
puts Enumerator.new { |yielder| i, j = 0, 1; loop {i, j = j, i + j; yielder.yield i} }.take_while { |n| n <= 4E6}.select { |i| i.even? }.inject(:+)
|
4
Ruby/3-a.rb
Executable file
4
Ruby/3-a.rb
Executable file
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/env ruby
|
||||
|
||||
require 'prime'
|
||||
puts Prime.prime_division(600851475143).last[0]
|
3
Ruby/4-a.rb
Executable file
3
Ruby/4-a.rb
Executable file
|
@ -0,0 +1,3 @@
|
|||
#!/usr/bin/env ruby
|
||||
|
||||
p (100...1000).to_a.map{ |i| (100...1000).to_a.map{ |j| i *j } }.flatten(1).select { |i| i.to_s == i.to_s.reverse }.sort.last
|
20
Ruby/5-a.rb
Executable file
20
Ruby/5-a.rb
Executable file
|
@ -0,0 +1,20 @@
|
|||
#!/usr/bin/env ruby
|
||||
|
||||
i = 20
|
||||
while true do
|
||||
20.downto(1) { |j|
|
||||
break if i % j != 0
|
||||
@done = true if j == 1
|
||||
}
|
||||
|
||||
break if @done
|
||||
|
||||
if i > 232792560 then
|
||||
puts 'fail'
|
||||
break
|
||||
end
|
||||
|
||||
i += 20
|
||||
end
|
||||
|
||||
puts i
|
3
Ruby/5-b.rb
Executable file
3
Ruby/5-b.rb
Executable file
|
@ -0,0 +1,3 @@
|
|||
#!/usr/bin/env ruby
|
||||
|
||||
puts (1..20).inject(1) { |lcm, n| lcm.lcm(n) }
|
Loading…
Reference in a new issue