yukicoder No.285 消費税2
問題概要
省略
解法
誤差を全く許さない問題。このような時は整数型で計算する。そのためには、1.08倍をするのではなく、108倍をすればいい。ここで100で割るのではなく、下から2桁目に小数点をつけて表示すればいい。
ミス
特になし。
コード
#include <iostream> #include <algorithm> #include <vector> #include <string> using namespace std; #define rep(i,n) for(int i=0;i<(n);i++) int main(void){ long long d; cin >> d; d *= 108; double ans; string s = to_string(d); int n = s.size(); rep(i, n - 2){ cout << s[i]; } cout << "." << s[n - 2] << s[n - 1] << endl; return 0; }