結果
問題 | No.428 小数から逃げる夢 |
ユーザー | ikd |
提出日時 | 2017-03-31 20:52:27 |
言語 | C++11 (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 990 bytes |
コンパイル時間 | 476 ms |
コンパイル使用メモリ | 57,428 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-07 04:47:28 |
合計ジャッジ時間 | 2,753 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | WA * 100 |
ソースコード
#include<iostream> using namespace std; #define repeat(i, n) for(int i=0;i<(n);i++) #define reveat(i, n) for(int i=(n-1);i>=0;i--) int main(){ string D="1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991"; int N; cin>> N; string _D=D; repeat(n, N-1){ bool car=false; int diff=_D.size()-D.size(); reveat(i, D.size()){ int d=(_D[i+diff]-'0')+(D[i]-'0')+car; car=(d>=10); d%=10; _D[i+diff]=d+'0'; } reveat(i, diff){ int d=(_D[i]-'0')+car; car=(d>=10); d%=10; _D[i]=d+'0'; } if(car) _D="1"+_D; } cout<< _D.size()<< endl; cout<< _D<<endl; repeat(i, _D.size()){ if(_D.substr(i).size()==190){ if(i==0) cout<< "0"; cout<< "."; } cout<< _D[i]; }cout<< endl; return 0; }