Newer
Older
Ruby / monte_calro.rb
@SAWADA Ui SAWADA Ui on 12 Mar 2022 528 bytes 2022-03-12 22:54:58
#!/usr/bin/env ruby
# coding: utf-8
# -*- coding utf-8 -*-

print"モンテカルロ法で 円周率を求めるよ!\n"
print"点を打つ回数を入れてね:"
kaisu = gets.to_i
in_circle = 0

kaisu.times do                  # 点を打つところ
  srand
  x = rand (-1.0..1.0)
  y = rand (-1.0..1.0)
  kyori = x** 2 + y** 2
  if kyori <= 1                 # 1** 1 =1 円に入る点の中心からの最大距離
    in_circle += 1
  end
end

pi = (in_circle.to_f / kaisu.to_f )* 4
printf("円周率は %f です。\n",pi)