結果

問題 No.219 巨大数の概算
ユーザー Nabetani
提出日時 2015-10-25 00:18:28
言語 Ruby
(3.4.1)
結果
AC  
実行時間 311 ms / 1,500 ms
コード長 511 bytes
コンパイル時間 282 ms
コンパイル使用メモリ 7,680 KB
実行使用メモリ 12,672 KB
最終ジャッジ日時 2024-07-18 11:44:51
合計ジャッジ時間 16,898 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 51
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

def calc(a, e, b)
  case b
  when 0
    return [1, 0, 1]
  when 1
    return [a, e, 1]
  end
  x=calc(a, e, b/2)
  y=b.even? ? [ 1, 0, 1 ] : [a, e, 1]
  xy=[x[0]*x[0]*y[0], x[1]*2+y[1], 1]
  po=Math.log10(xy[0]).floor
  [xy[0]/10.0**po, xy[1]+ po, 1]
end

def solve_impl( a, b )
  v=calc(a, 0, b)
  x, y = (v[0]*10).floor.to_s.chars
  [x, y, v[1]]
end

def solve2(input)
  n=input.gets.to_i
  n.times do
    q=input.gets.split(/\s+/).map(&:to_i)
    puts( solve_impl( *q ).join(" ") )
  end
end

solve2($stdin)
0