ABC055-B - Training Camp を解く
ABC055-B - Training Camp
問題文の通りにシミュレーションすることで答えを求めることができるが
N が大きくなると、シミュレーションではとても時間がかかってしまう
しかしこの問題では、答えを 1000000007 で割った余りを
出力することとなっている
このように素数で割った余りを出力する問題は
今回のような単純な掛け算を繰り返すような場合であれば
計算途中の値に対して余りを取ってもいいというルールがあるので
その性質を利用していく
以上を踏まえて書いたコードを以下に示す
提出したコード
# 入力 N=int(input()) # パワー(初期値1) p=1 for i in range(N): p*=(i+1) # 余りをとる p%=1000000007 # 出力 print(p)
提出結果はACでした