fork download
  1. #include <iostream>
  2. #include <iomanip>
  3. using namespace std;
  4.  
  5. // gcd algo
  6. int gcd(int, int);
  7.  
  8. int main() {
  9. int t;
  10. cin >> t;
  11. while(t--) {
  12. string n;
  13. cin >> n;
  14. string f_part;
  15. int count = 0,check = 0;
  16. for(int i = 0; i < n.length(); i++) {
  17. if(n[i] == '.') {
  18. check = 1;
  19. continue;
  20. }
  21. if(check == 1)
  22. count++;
  23. if(n[i] == '.') continue;
  24. else
  25. f_part += n[i];
  26. }
  27. int x = atoi(f_part.c_str());
  28. string deno = "1";
  29. while(count--) deno += '0';
  30. int deno_int = atoi(deno.c_str());
  31. int gcd2 = gcd(x, deno_int);
  32. // cout << "deno_int : " << deno_int << " gcd2 : " << gcd2 << endl;
  33. cout << deno_int / gcd2 << endl;
  34. }
  35. }
  36.  
  37. int gcd(int a, int b) {
  38. if(a % b == 0) return b;
  39. else return gcd(a, a % b);
  40. }
Success #stdin #stdout 0s 16064KB
stdin
3 5 5.5 30.25
stdout
1
2
4