結果
問題 | No.500 階乗電卓 |
ユーザー |
|
提出日時 | 2017-04-08 17:19:57 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 961 bytes |
コンパイル時間 | 675 ms |
コンパイル使用メモリ | 81,392 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-25 02:57:01 |
合計ジャッジ時間 | 1,487 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
#include<iostream>#include<cstdio>#include<cmath>#include<cstdlib>#include<cstring>#include<string>#include<stack>#include<queue>#include<vector>#include<algorithm>#include <iomanip>typedef long long int ll;using namespace std;#define FOR(i,a,b) for (int i=(a);i<(b);i++)#define REP(i,n) for (int i=0;i<(n);i++)#define EREP(i,n) for (int i=1;i<=(n);i++)#define EVEL 1#ifndef EVEL#define DEB(X) cout << #X << ":" <<X<<" " ;#define TF(f) f ? cout<<"true " : cout<<"false ";#define END cout<<"\n";#else#define DEB(X) {X=X;}#define TF(f) {f=f;}#define END {}#endifconst int MOD = 1000000007;const int INF = 1000000;#define NMAX 50#define MAX 10int main(){ll N,ans=1;ll md=1000000000000;cin>>N;if(N>=60){cout<<"000000000000";return 0;}for(int i=N;i>=1;i--){ans*=(i%md);ans%=md;}if(20<=N)printf("%012lld",ans);else{printf("%lld",ans);}}