AOJ 0054 Sum of Nth decimal places
概要
a / b の小数点第1位から第n位までの値を足せ
解法
最初doubleでやっていたけど、精度で死んだ。
aを10倍しながら、bで割っていくと少数部分が計算できるらしい。
これは使える。
コード
#include <iostream> using namespace std; int main() { int a, b, n; while (1) { cin >> a >> b >> n; if (cin.eof()) break; int ans = 0; a %= b; for (int i = 0; i < n; i++) { a *= 10; ans += a / b; a %= b; } cout << ans << endl; } return 0; }