Skip to content

Instantly share code, notes, and snippets.

@opamp
Created August 5, 2011 09:54
Show Gist options
  • Save opamp/1127243 to your computer and use it in GitHub Desktop.
Save opamp/1127243 to your computer and use it in GitHub Desktop.
yakubun
#!/usr/bin/env ruby
#-*- encoding:utf-8 -*-
def eukeides(m,n)
loop do
r = m % n
if r == 0 then
return n
end
m = n
n = r
end
end
bs = Array.new
if ARGV.size != 2 then
print "分母を入力してください :"
bs[0] = STDIN.gets.to_i
print "分子を入力してください :"
bs[1] = STDIN.gets.to_i
else
bs[0] = ARGV[0].to_i
bs[1] = ARGV[1].to_i
end
ans = Array.new(bs)
r = 0
begin
while(r != 1)
r = eukeides(ans[0],ans[1])
ans[0] = ans[0] / r
ans[1] = ans[1] / r
end
rescue ZeroDivisionError
puts "入力された数値が不正です"
exit 1
end
puts bs[1].to_s + " / " + bs[0].to_s + " = " + ans[1].to_s + " / " + ans[0].to_s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment