1 条题解
- 
  1
#include <iostream> #include <string> #include <vector> #include <algorithm> using namespace std; int n; string s; string cal(string & s, int n) { string res = ""; reverse(s.begin(), s.end()); int t = 0; for(int i = 0; i < s.size(); ++ i) { if(s[i] != '.') { t += (s[i] - '0') * n; res += to_string(t % 10); t /= 10; } else res += '.'; } while(t) { res += to_string(t % 10); t /= 10; } reverse(res.begin(), res.end()); return res; } int main() { cin >> n >> s; for(int i = 0; i < n; ++ i) s = cal(s, 2); int pos = s.find('.'); vector<int> res; if(s[pos + 1] >= '5') { int num = 1; for(int i = pos - 1; i >= 0; -- i) { num = (s[i] - '0' + num); res.push_back(num % 10); num /= 10; } if(num) res.push_back(num % 10); for(int j = res.size() - 1; j >= 0; -- j) cout << res[j]; } else { for(int j = 0; j < s.size(); ++ j) { if(s[j] != '.') { cout << s[j]; } else break; } return 0; } return 0; } 
- 1
 
信息
- ID
 - 5558
 - 时间
 - 1000ms
 - 内存
 - 256MiB
 - 难度
 - 10
 - 标签
 - 递交数
 - 7
 - 已通过
 - 2
 - 上传者