結果

問題 No.25 有限小数
ユーザー tshig
提出日時 2016-08-19 17:28:17
言語 Ruby
(3.4.1)
結果
WA  
(最新)
AC  
(最初)
実行時間 -
コード長 613 bytes
コンパイル時間 44 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 12,288 KB
最終ジャッジ日時 2024-11-15 21:17:12
合計ジャッジ時間 3,700 ms
ジャッジサーバーID
(参考情報)
judge2 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 30 WA * 1
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

class Calc0025
  def initialize(args)
    args = args.map { |l| l.chomp.split(/\s+/) }
    @n = args.shift.first.to_i
    @m = args.shift.first.to_i
  end

  def run
    n, m = @n, @m
    return (n / m).to_s.gsub(/0+$/, '')[-1] if n % m == 0
    n, m = n / 2, m / 2 while n % 2 == 0 && m % 2 == 0
    n, m = n / 5, m / 5 while n % 5 == 0 && m % 5 == 0
    while m % 5 == 0
      n = ((n % 10) * 10 / 5) % 10
      m = m / 5
    end
    while m % 2 == 0
      n = (n % 10) % 2 == 0 ? (n % 10) / 2 : 5
      m = m / 2
    end

    m == 1 ? n : -1
  end
end

puts Calc0025.new(STDIN.readlines).run if __FILE__ == $0
0