結果

問題 No.741 AscNumber(Easy)
ユーザー koi_kotyakoi_kotya
提出日時 2018-10-05 21:54:38
言語 Ruby
(3.4.1)
結果
AC  
実行時間 930 ms / 2,000 ms
コード長 458 bytes
コンパイル時間 46 ms
コンパイル使用メモリ 7,552 KB
実行使用メモリ 28,160 KB
最終ジャッジ日時 2024-10-12 13:05:44
合計ジャッジ時間 17,375 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 55
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

n = gets.to_i
ans = 1
$mod = 10**9+7

def pow(a,b)
  if b == 1
    a
  elsif b%2 == 0
    (pow(a,b/2)**2)%$mod
  else
    (a*pow(a,b/2)**2)%$mod
  end
end

fact = Array.new(n+10,1)
for i in 2..n+9
  fact[i] = (fact[i-1]*i)%$mod
end

fact_inv = Array.new(n+10,1)
fact_inv[n+9] = pow(fact[n+9],$mod-2)
(n+9).downto(1) do |i|
  fact_inv[i-1] = (fact_inv[i]*i)%$mod
end

for i in 1..n
  ans += (fact[i+8]*fact_inv[i]*fact_inv[8])%$mod
  ans %= $mod
end

puts ans
0