結果

問題 No.16 累乗の加算
コンテスト
ユーザー d_nishiyama85
提出日時 2016-06-13 04:41:02
言語 Ruby
(4.0.7 + ACL)
コンパイル:
ruby -w -c _filename_
実行:
ruby _filename_
結果
AC  
実行時間 55 ms / 5,000 ms
+ 215µs
コード長 382 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 10 ms
コンパイル使用メモリ 9,788 KB
実行使用メモリ 15,232 KB
最終ジャッジ日時 2026-10-11 12:18:14
合計ジャッジ時間 2,114 ms
ジャッジサーバーID
(参考情報)
judge4_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 15
権限があれば一括ダウンロードができます
コンパイルメッセージ
Main.rb:20: warning: assigned but unused variable - n
Syntax OK

ソースコード

diff #
raw source code

require 'pp'

MOD = 1000003

def pow(x, a)
  if a === 0
    return 1
  end
  p = 1
  while a > 0 do
    if a % 2 > 0
      p = (p * x) % MOD
    end
    x = (x * x) % MOD
    a /= 2
  end
  return p
end

x, n = gets.strip.split.map { |e| e.to_i }
a = gets.strip.split.map { |e| e.to_i }

# pp a.map { |e|  pow(x, e)}
total = a.reduce(0){|sum, p| (sum + pow(x, p)) % MOD}
puts total
0