Problem:
Score : 200 points

Problem Statement

You are given a positive integer X.
Find the largest perfect power that is at most X.
Here, a perfect power is an integer that can be represented as b^p, where b is an integer not less than 1 and p is an integer not less than 2.

Constraints

1 ≤ X ≤ 1000

X is an integer.

Input

Input is given from Standard Input in the following format:

X

Output

Print the largest perfect power that is at most X.

Sample Input 1

10

Sample Output 1

9

There are four perfect powers that are at most 10: 1, 4, 8 and 9.
We should print the largest among them, 9.

Sample Input 2

1

Sample Output 2

1

Sample Input 3

999

Sample Output 3

961

Solution in Java7 (OpenJDK 1.7.0) (judge verdict: Wrong Answer)

import java.util.*;
 public class Main{

     public static void main(String []args){
        Scanner scan = new Scanner(System.in);
       
        int n =scan.nextInt();
        int max  = 0  , count = 0;
        //System.out.println(Math.pow(1,2) - (int)Math.pow(1,2));
       
       for(int i = 1 ; i <= n ; i++){
            for(int j = 2 ;j<=10 ; j++){
                if((int)Math.pow(i,j)> n){
                 
                    break ;
                }else{
                    if((Math.pow(i,j) - (int)Math.pow(i,j)) == 0.0){
                        max = (int)Math.pow(i,j);
                      //System.out.println((int)Math.pow(i,j));
                        count++;
                     
                    }
                  //System.out.println((int)Math.pow(i,j));
                }
            }
            if(count==0){
                break ;
            }
        } 
        System.out.println(max);
        
      
     }
}