Advertisement
HristijanBosheski

Опсег [АПС Вежби за прв колоквиум]

Jan 19th, 2018
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.33 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.InputStreamReader;
  3. import java.util.StringTokenizer;
  4.  
  5. public class Range {
  6.    
  7.     static long cifri(long x) {
  8.         long zbir =0;
  9.         while (x>0) {
  10.             zbir+= x%10;
  11.             x/=10;
  12.         }
  13.         return zbir;
  14.     }
  15.    
  16.     static long proveri(long N, long A, long B) {
  17.      
  18.         if (A == B)
  19.             return -1;
  20.        
  21.        
  22.         if (A * A + 200*A + cifri(A) == N)
  23.             return A;
  24.         if (B*B + 200*B + cifri(B) == N )
  25.             return B;
  26.        
  27.         long mid = (A+B)/2;
  28.        
  29.        // System.out.println(A + " " + B + " " + mid);
  30.  
  31.         long temp = mid * mid + 200 * mid + cifri(mid);
  32.         if (temp > N)
  33.             return proveri(N,A,mid);
  34.         else  if (temp < N)
  35.             return proveri(N,mid,B);
  36.         else return mid;
  37.        
  38.     }
  39.    
  40.    
  41.     public static void main(String[] args) throws Exception {
  42.         int i,j,k;
  43.        
  44.         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  45.        
  46.         long N = Long.parseLong(br.readLine());
  47.        
  48.         StringTokenizer st = new StringTokenizer(br.readLine());
  49.         long A = Long.parseLong(st.nextToken());
  50.         long B = Long.parseLong(st.nextToken());
  51.        
  52.         long res = proveri(N, A, B);
  53.         System.out.println(res);
  54.        
  55.         br.close();
  56.        
  57.     }
  58.    
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement