fork(13) download
  1.  
  2. #include <stdio.h>
  3. #include <cmath>
  4. #include <string>
  5. #include <iostream>
  6. using namespace std;
  7. long gcd(long a,long b)
  8. {
  9. return b==0?a:gcd(b,a%b);
  10. }
  11. int main()
  12. {
  13. int t,count,i,flage;
  14. scanf("%d",&t);
  15. while(t--)
  16. {
  17. string s;
  18. cin>>s;
  19. long number=1,frac;
  20. count=0;
  21. flage=0;
  22. for(i=s.size()-1;i>=0;i--)
  23. {
  24. if(s[i]=='.')
  25. {
  26. flage=1;
  27. break;
  28. }
  29. else
  30. count++;
  31. }
  32. for(i=0;i<s.size();i++)
  33. {
  34. if(s[i]!='.')
  35. {
  36. number=number*10 + (s[i]-48);
  37. }
  38. }
  39. frac=1;
  40. if(flage)
  41. frac=pow(10,count);
  42. printf("%ld\n",frac/gcd(number,frac));
  43. }
  44. return 0;
  45. }
Success #stdin #stdout 0s 3432KB
stdin
3

5

5.5

30.25
stdout
1
2
4