#include <iostream>
int func(double value) {
std::string text = std::to_string(value);
int counter = 0;
bool flag = false;
for ( int i = text.size()-1; i >= 0; i-- ) {
if ( text[i] != '0' ) {
flag = true;
}
if ( flag == true && text[i] != '.' ) {
counter += 1;
}
}
return counter;
}
int main() {
double number = 42.334501;
double number2 = 42334501.0000;
std::cout << func(number) << "\n" << func(number2);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKaW50IGZ1bmMoZG91YmxlIHZhbHVlKSB7CiAgICBzdGQ6OnN0cmluZyB0ZXh0ID0gc3RkOjp0b19zdHJpbmcodmFsdWUpOwogICAgaW50IGNvdW50ZXIgPSAwOwogICAgYm9vbCBmbGFnID0gZmFsc2U7CiAgICAKICAgIGZvciAoIGludCBpID0gdGV4dC5zaXplKCktMTsgaSA+PSAwOyBpLS0gKSB7CiAgICAJaWYgKCB0ZXh0W2ldICE9ICcwJyApIHsKICAgIAkJZmxhZyA9IHRydWU7CiAgICAJfQogICAgCWlmICggZmxhZyA9PSB0cnVlICYmIHRleHRbaV0gIT0gJy4nICkgewogICAgCQljb3VudGVyICs9IDE7CiAgICAJfQogICAgfQoKICAgIHJldHVybiBjb3VudGVyOwp9CgppbnQgbWFpbigpIHsKICAgIGRvdWJsZSBudW1iZXIgPSA0Mi4zMzQ1MDE7CiAgICBkb3VibGUgbnVtYmVyMiA9IDQyMzM0NTAxLjAwMDA7CgogICAgc3RkOjpjb3V0IDw8IGZ1bmMobnVtYmVyKSA8PCAiXG4iIDw8IGZ1bmMobnVtYmVyMik7CgogICAgcmV0dXJuIDA7Cn0K