Newer
Older
Ruby / hello1.rb
#!/usr/bin/env ruby
# -*- coding:utf-8 -*-
#timeoutとモンテカルロ法〜
require'timeout'
min=[0,0]
begin
Timeout.timeout(5){
  loop do
    x=rand
    y=rand
    x**2+y**2<1.0?min[0]+=1: min[1]+=1
  end
}
rescue Timeout::Error
  puts("timeout")
end

printf("%d: pi=%f\n",min[0]+min[1],min[0]*4.0/(min[0]+min[1]))