Skip to content

Instantly share code, notes, and snippets.

@lackac
Created September 10, 2009 10:24
Show Gist options
  • Save lackac/184463 to your computer and use it in GitHub Desktop.
Save lackac/184463 to your computer and use it in GitHub Desktop.
#!/usr/bin/env ruby -rrubygems
require 'activesupport'
require 'ostruct'
bprb = [
{:date => Date.new(2008, 9, 17), :attendees => 52},
{:date => Date.new(2008, 10, 16), :attendees => 30},
{:date => Date.new(2008, 11, 20), :attendees => 25},
{:date => Date.new(2008, 12, 17), :attendees => 8},
{:date => Date.new(2009, 1, 22), :attendees => 20},
{:date => Date.new(2009, 2, 24), :attendees => 23},
{:date => Date.new(2009, 4, 23), :attendees => 20},
{:date => Date.new(2009, 5, 28), :attendees => 30},
{:date => Date.new(2009, 6, 18), :attendees => 9},
{:date => Date.new(2009, 7, 16), :attendees => 12},
{:date => Date.new(2009, 8, 27), :attendees => 14},
{:date => Date.new(2009, 9, 17), :attendees => 42},
].map! {|m| OpenStruct.new(m)}
bp = OpenStruct.new(
:pop => 1_712_210,
:area => 525.16,
:lat => 47.471944,
:lng => 19.050278
)
a = bprb.inject(0) {|a,m| a+m.attendees} / bprb.size.to_f
b = Math.sqrt(bp.pop / bp.area)
c = Math.sqrt(bp.lat * bp.lng)
((a+2*b+c)/4).to_i # => 42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment