#include <iostream>
using namespace std;
int calc(double d)
{
const long Factor = 1000; // die 3 Nachkommazahlen nach links verschieben
long x = static_cast<long>(d * Factor);
long a = x * 40; // entspricht /25 * 1000
int e = static_cast<int>((a / Factor) % 1000);
return e;
}
int main() {
std::cout << calc(90000.049) << endl;
std::cout << calc(90000.050) << endl;
std::cout << calc(90000.025) << endl;
std::cout << calc(90000.024) << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IGNhbGMoZG91YmxlIGQpCnsKICAgIGNvbnN0IGxvbmcgRmFjdG9yID0gMTAwMDsgIC8vIGRpZSAzIE5hY2hrb21tYXphaGxlbiBuYWNoIGxpbmtzIHZlcnNjaGllYmVuCiAgICBsb25nIHggPSBzdGF0aWNfY2FzdDxsb25nPihkICogRmFjdG9yKTsKICAgIGxvbmcgYSA9IHggKiA0MDsgLy8gZW50c3ByaWNodCAvMjUgKiAxMDAwCiAgICAKICAgIGludCBlID0gc3RhdGljX2Nhc3Q8aW50PigoYSAvIEZhY3RvcikgJSAxMDAwKTsKICAgIAogICAgcmV0dXJuIGU7Cn0KCmludCBtYWluKCkgewogICAgCiAgICBzdGQ6OmNvdXQgPDwgY2FsYyg5MDAwMC4wNDkpIDw8IGVuZGw7CiAgICAKICAgIHN0ZDo6Y291dCA8PCBjYWxjKDkwMDAwLjA1MCkgPDwgZW5kbDsKICAgIAogICAgc3RkOjpjb3V0IDw8IGNhbGMoOTAwMDAuMDI1KSA8PCBlbmRsOwogICAgCiAgICBzdGQ6OmNvdXQgPDwgY2FsYyg5MDAwMC4wMjQpIDw8IGVuZGw7CgoJcmV0dXJuIDA7Cn0K