結果
問題 | No.502 階乗を計算するだけ |
ユーザー | WA_TLE |
提出日時 | 2017-04-07 23:12:34 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 515 ms / 1,000 ms |
コード長 | 729 bytes |
コンパイル時間 | 120 ms |
コンパイル使用メモリ | 23,424 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-07-16 02:58:22 |
合計ジャッジ時間 | 4,620 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 52 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:5:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 5 | scanf("%lld",&N); | ~~~~~^~~~~~~~~~~
ソースコード
#include<stdio.h> long long int itiok=100000000; int main(void){ long long int i=1,N,ans=1,gen=0,ok=0; scanf("%lld",&N); if(N<10*itiok+7){ if(N>itiok){ i+=itiok; ans=927880474; } if(N>2*itiok){ i+=itiok; ans=933245637; } if(N>3*itiok){ i+=itiok; ans=668123525; } if(N>4*itiok){ i+=itiok; ans=429277690; } if(N>5*itiok){ i+=itiok; ans=733333339; } if(N>6*itiok){ i+=itiok; ans=724464507; } if(N>7*itiok){ i+=itiok; ans=957939114; } if(N>8*itiok){ i+=itiok; ans=203191898; } if(N>9*itiok){ i+=itiok; ans=586445753; } for(;i<=N;i++){ ans*=i; ans%=1000000007; } printf("%lld\n",ans); } else{ printf("0\n"); } return 0; }