結果
問題 |
No.428 小数から逃げる夢
|
ユーザー |
![]() |
提出日時 | 2023-12-12 16:18:42 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 907 bytes |
コンパイル時間 | 2,349 ms |
コンパイル使用メモリ | 196,992 KB |
最終ジャッジ日時 | 2025-02-18 10:31:03 |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 100 |
ソースコード
#include <bits/stdc++.h> #include<iostream> #include<iomanip> #include<string> #include<algorithm> #include<vector> #include<set> #include<list> #include<queue> #include<math.h> #include<bitset> using ll = long long; using namespace std; string D = "0.1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991"; string cal(int n){ string ans = ""; int up = 0; for (int i = D.size()-1; i >= 0; i--){ if (D[i] != '.'){ int a = D[i] - '0'; a *= n; a += up; up = a/10; a -= up*10; ans = to_string(a) + ans; if (!i && up) ans = to_string(up) + ans; } else ans = '.' + ans; } return ans; } int main() { int n; cin >> n; cout << cal(n) << endl; }