結果

問題 No.502 階乗を計算するだけ
ユーザー 0214sh7
提出日時 2017-04-08 00:01:08
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
TLE  
実行時間 -
コード長 715 bytes
コンパイル時間 392 ms
コンパイル使用メモリ 38,656 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-07-16 03:27:36
合計ジャッジ時間 9,438 ms
ジャッジサーバーID
(参考情報)
judge1 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 48 TLE * 4
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <cstdio>
#include <cmath>
int main()
{
	long long N;
	scanf("%lld",&N);
	if(N>=1000000007){
		printf("0\n");

	}else if(N>=750000000){
		long long sum=217598709;
		for(int i=750000001;i<=N;i++){
			sum *= i;
			sum %= 1000000007;
		}
		printf("%lld\n",sum);

	}else if(N>=500000000){
		long long sum=733333339;
		for(int i=500000001;i<=N;i++){
			sum *= i;
			sum %= 1000000007;
		}
		printf("%lld\n",sum);

	}else if(N>=250000000){
		long long sum=112390913;
		for(int i=250000001;i<=N;i++){
			sum *= i;
			sum %= 1000000007;
		}
		printf("%lld\n",sum);

	}else{
		long long sum=1;
		for(int i=1;i<=N;i++){
			sum *= i;
			sum %= 1000000007;
		}
		printf("%lld\n",sum);
	}
	//scanf("%d");
	return 0;
}


0