Advertisement
Chris2o2

[APS] Range

Nov 24th, 2022
312
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.80 KB | None | 0 0
  1. /*
  2. Дадена е равенката: x2+s(x)+200·x=N каде што x, N се природни броеви, а s(x) е функција која што го дава збирот на цифри на бројот x. Даден е и бројот N и два природни броеви A и B, каде што A≤B и A, B≤1,000,000,000. Потребно е да проверите дали постои природен број x во опсегот [A, B] така што е задоволена равенката, и ако постои тогаш треба да се врати како резултат. Ако таков природен број x во опсегот [A, B] што ја задоволува равенката не постои, тогаш се враќа -1.
  3.  
  4. Име на класата: Range
  5. */
  6.  
  7. import java.io.BufferedReader;
  8. import java.io.InputStreamReader;
  9. import java.util.StringTokenizer;
  10.  
  11. public class Range {
  12.  
  13.     static long proveri(long N, long A, long B) {
  14.        
  15.         long x1 = ((-1) * 200 + (long) Math.sqrt(200 * 200 + 4 * N)) / 2;
  16.         long x2 = ((-1) * 200 + (long) Math.sqrt(200 * 200 + 4 * N)) / 2;
  17.         if (x1 >= A&&x1 <= B)
  18.             return x1;
  19.         else if (x2 >= A && x2 <= B)
  20.             return x2;
  21.         else
  22.             return -1;
  23.  
  24.     }
  25.  
  26.     public static void main(String[] args) throws Exception {
  27.         int i, j, k;
  28.  
  29.         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  30.  
  31.         long N = Long.parseLong(br.readLine());
  32.  
  33.         StringTokenizer st = new StringTokenizer(br.readLine());
  34.         long A = Long.parseLong(st.nextToken());
  35.         long B = Long.parseLong(st.nextToken());
  36.  
  37.         long res = proveri(N, A, B);
  38.         System.out.println(res);
  39.  
  40.         br.close();
  41.  
  42.     }
  43.  
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement