結果
問題 |
No.502 階乗を計算するだけ
|
ユーザー |
![]() |
提出日時 | 2017-04-07 23:33:46 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 399 bytes |
コンパイル時間 | 462 ms |
コンパイル使用メモリ | 38,272 KB |
実行使用メモリ | 13,884 KB |
最終ジャッジ日時 | 2024-07-16 03:12:59 |
合計ジャッジ時間 | 4,450 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 33 TLE * 2 -- * 17 |
ソースコード
#include <cstdio> #include <cmath> #define MOD 1000000007 int main() { long long N; scanf("%lld",&N); if(N>=MOD){ printf("0\n"); }else if(N>=500000000){ long long sum=733333339; for(int i=500000001;i<=N;i++){ sum *= i; sum %= MOD; } printf("%lld\n",sum); }else{ long long sum=1; for(int i=1;i<=N;i++){ sum *= i; sum %= MOD; } printf("%lld\n",sum); } return 0; }