間違い例
#include <cstdio> #include <iostream> using namespace std; int main(){ int a,b; cin >> a >> b; cout << a / b << " " << a % b << " "; double a_d = a; cout << a_d / b << endl; return 0; }
これではサンプルの半分しか通れなかった。最後の計算の精度が問題?
なんかググると、coutだと精度がなんかおかしいらしい
#include <cstdio> #include <iostream> using namespace std; int main(){ int a,b; double d = a*1.0/b; cin >> a >> b; cout << a/b << " " << a%b << " "; printf("%f\n",d); return 0; }
都合よくprintfを使う。%なんたらってところミスって唸るはめに。日頃coutに頼っていたつけが
ちなみに一貫性をもたせるなら、
printf("%d %d %f\n",a/b,a%b,d);
としてもよい
しかしcoutの問題はさすがに泥沼だよなぁとか
数字だけならprintf一筋でもいいんですけどね
入力怖いな 何時出てくるんだろ