Skip to content

Instantly share code, notes, and snippets.

@eric1234
eric1234 / p3.rb
Created September 22, 2009 00:58
Problem 3 on Project Euler
class Numeric
def divisible_by? num
self % num == 0
end
def prime?
not (2..self.sqrt.floor).any? {|i| self.divisible_by? i}
end
def sqrt
@eric1234
eric1234 / p4.rb
Created September 23, 2009 00:27
Problem 4 on Project Euler
class Numeric
def palindromic?
to_s.reverse == to_s
end
end
class Range
def reverse
ReverseRange.new last, first, exclude_end?
end
@eric1234
eric1234 / p5.rb
Created October 8, 2009 02:29
Problem 5 on Project Euler
class Numeric
def divisible_by? num
self % num == 0
end
end
possible = increment = 20 * 19
test = (11..18).to_a.reverse
loop do
if test.all? {|d| possible.divisible_by? d}
@eric1234
eric1234 / p6.rb
Created October 8, 2009 02:38
Problem 6 on Project Euler
class Numeric
def squared
self * self
end
end
module Enumerable
def sum &blk
blk = proc {|x| x} unless block_given?
inject(0) {|sum, element| sum + (blk[element] || 0)}
@eric1234
eric1234 / p7.rb
Created October 8, 2009 03:10
Problem 7 on Project Euler
class Numeric
def divisible_by? num
self % num == 0
end
def prime?
not (2..self.sqrt.floor).any? {|i| self.divisible_by? i}
end
def sqrt
@eric1234
eric1234 / p8.rb
Created October 8, 2009 03:50
Problem 8 on Project Euler
module Enumerable
def prod
inject(1) {|t, i| t * i.to_i}
end
end
num = DATA.read.gsub /\s/, ''
puts (0..num.length-5).collect {|start| num[start, 5].chars.prod}.max
__END__
@eric1234
eric1234 / p9.rb
Created October 8, 2009 05:35
Problem 9 on Project Euler
class Numeric
def squared
self * self
end
end
(1..1000/3).each do |a|
(a+1..1002-2*a).each do |b|
c = 1000 - a - b
if a + b > c && a.squared + b.squared == c.squared
@eric1234
eric1234 / gist:270513
Created January 6, 2010 18:43
Resize and crop all photos in a directory to a specific size
mogrify -thumbnail 248x157^ -gravity center -extent 248x157 '*.jpg'
@eric1234
eric1234 / heroku_gem_manifest.rake
Created January 16, 2010 03:45
Will generate a heroku gem manifest from the rails app itself. Ideal as a sake task.
desc "Generate Heroku gems manifest from environment.rb"
task 'heroku:gems:manifest' do
manifest = nil
IO.popen('-') do |io|
if io
manifest = io.read
else
system 'script/runner', %q{
out = Rails.configuration.gems.collect do |gem|
gem.send(:install_command)[1..-1] * " "
@eric1234
eric1234 / p10.rb
Created February 10, 2010 04:23
Problem 10 on Project Euler
class Numeric
def divisible_by? num
self % num == 0
end
def sqrt
Math.sqrt self
end
def prime?(preprocessed=(2..self.sqrt.floor))