結果

問題 No.793 うし数列 2
ユーザー betrue12
提出日時 2019-02-22 22:38:10
言語 Ruby
(3.4.1)
結果
AC  
実行時間 90 ms / 2,000 ms
コード長 540 bytes
コンパイル時間 394 ms
コンパイル使用メモリ 7,680 KB
実行使用メモリ 12,288 KB
最終ジャッジ日時 2024-11-25 10:20:29
合計ジャッジ時間 4,097 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 21
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

n = gets.to_i
MOD = 1000000007

def power_mod(num, power)
    prod = 1
    num %= MOD
    while power > 0 do
        if power & 1 == 1
            prod = (prod * num) % MOD
        end
        num = (num * num) % MOD
        power >>= 1
    end
    return prod
end

ans = power_mod(10, n)

base = 1
digit = 1
result = 3
while n > 0
    if n%2 == 1
        ans = (ans + base * result) % MOD
        base = base * power_mod(10, digit) % MOD
    end
    result = result * (1 + power_mod(10, digit)) % MOD
    digit *= 2
    n /= 2
end
puts ans
0