Newer
Older
Ruby / monte_calro2.rb
@SAWADA Ui SAWADA Ui on 24 Mar 2022 506 bytes 2022-03-24 13:01:05
#!/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 = Math.sqrt(x** 2 + y** 2)
  if kyori <= 1                 # 平方根したほう
    in_circle += 1
  end
end

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