Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.InputStreamReader;
- import java.util.StringTokenizer;
- public class Range {
- static int proveri(long N, int A, int B) {
- long rez = 0L;
- if( B > Math.sqrt( (double)N ) )
- B = ( int )Math.sqrt( (double)N );
- // ako e ocigledno deka br x e 10 na stepen, zbirot na cifrite na n ke e 4
- if( zbirCifri( N ) == 4 ) {
- for( int i = 1; i<= B; i = i*10 ) {
- rez = (long)i*i + zbirCifri( (long)i ) + (long)200 * i;
- if (rez == N)
- return i;
- }
- }
- for( int i = A; i<= B; i++) {
- rez = (long) Math.pow( i, 2 ) + zbirCifri( i ) + 200 * i ;
- if( rez == N)
- return i;
- }
- return -1;
- }
- static int zbirCifri( long x ) {
- int zbir = 0;
- while(x > 0) {
- zbir += x % 10;
- x = x / 10;
- }
- return zbir;
- }
- public static void main(String[] args) throws Exception {
- int i,j,k;
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- long N = Long.parseLong(br.readLine());
- StringTokenizer st = new StringTokenizer(br.readLine());
- int A = (int)Long.parseLong(st.nextToken());
- int B = (int)Long.parseLong(st.nextToken());
- int res = proveri(N, A, B);
- System.out.println(res);
- br.close();
- }
- }
Add Comment
Please, Sign In to add comment