[AtCoder]ABC B055 – Training Camp [C++]

プログラミング


引き続き、B問題を解いていきます。

ABC B055 – Training Camp

問題

すぬけくんはトレーニングが好きなのでN回だけトレーニングすることにしました。
すぬけくんのトレーニング開始前のパワーは1です。すぬけくんがi回目のトレーニングを終えるとパワーがi倍されます。
すぬけくんがN回トレーニングをしたあとのパワーを求めなさい。ただし、答えの値は非常に大きな値になることがあるので 10^9+7で割ったあまりを出力してください。

自分の回答

#include <bits/stdc++.h>
using namespace std;
 
int main () {
  int N;
  cin >> N;
  long int power = 1;
  int a = 1000000007;
 
  for(int i = 1; i <= N; i++){
    power = power * i % a;
  }
  cout << power << endl;
}

そんなに難しい問題ではないですが、long int型を使わないと正解に辿り着けません。
自分でもint型とlong int型の違いや使い分けに関して、あやふやなところがあるので、きちんと整理したいと思います。

タイトルとURLをコピーしました