Friday, March 11, 2016

LightOJ - 1138 - Trailing Zeroes (III)

  1. /****************#####    بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم   #####******************
  2. __________________________________________________________________________
  3. ######################  Ya-Seen Arafat(ACWizard) #########################
  4. ######################        UAP-CSE-33B        #########################
  5. *************************************************************************/
  6. #include <bits/stdc++.h>
  7. #define M 1000003
  8. #define S 1000003
  9. #define LL long long
  10. using namespace std;
  11.  
  12. int n;
  13.  
  14. int BS(int h, int l){
  15.     int p, q, m, f = 0;
  16.     while(>= l){
  17.         p = h+l;
  18.         if(p&1)+= 5;
  19.         m = p/2;
  20.         q = m;
  21.         if(== m)return -1;
  22.         f = m;
  23.         int ans = 0;
  24.         while(> 0){
  25.             ans += q/5;
  26.             q /= 5;
  27.         }
  28.         if(ans == n)return m;
  29.         else if(ans > n)= m;
  30.         else l = m;
  31.     }
  32.     return -1;
  33. }
  34.  
  35. int main(){
  36.     int t, cs = 0;
  37.     scanf("%d"&t);
  38.     while(t--){
  39.         scanf("%d"&n);
  40.         int high = 5*n;
  41.         int low = 5;
  42.         int a = BS(high, low);
  43.         printf("Case %d: "++cs);
  44.         printf((< 0)?"impossible\n":"%d\n", a);
  45.     }
  46.     return 0;
  47. }

No comments:

Post a Comment