結果
問題 |
No.500 階乗電卓
|
ユーザー |
![]() |
提出日時 | 2021-04-19 22:19:19 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 573 bytes |
コンパイル時間 | 1,716 ms |
コンパイル使用メモリ | 166,552 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-04 05:09:33 |
合計ジャッジ時間 | 2,552 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
#include <bits/stdc++.h> using namespace std; //#include <atcoder/all> //using namespace atcoder; using ll=long long; using Graph=vector<vector<int>>; #define MAX 200003 #define MOD 1000000007 #define INF 1000000000000000000 int main(){ ll N; cin>>N; ll ans=1; for(ll i=1;i<=N;i++){ ans*=i; ans%=1000000000000; if(ans==0){ break; } } if(ans==0){ cout<<"000000000000"<<endl; }else if(N>15){ int n=to_string(ans).size(); for(int i=0;i<12-n;i++){ cout<<'0'; } cout<<ans<<endl; }else{ cout<<ans<<endl; } }