113 - Power of Cryptography

import java.math.BigInteger;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        BigInteger num1, num2;
        int n;
        int kc = 1000000000;
        int l, r, mid, t;
        Scanner in = new Scanner(System.in);
        while (in.hasNext())
        {
            n = in.nextInt();
            num1 = in.nextBigInteger();
            l = 0;
            r = kc;
            while (true)//二分
            {
                mid = (l + r) >> 1;
                num2 = BigInteger.valueOf(mid);
                num2 = num2.pow(n);
                t = num2.compareTo(num1);
                if (t == 0)
                {
                    System.out.println(mid);
                    break;
                }
                else
                    if (t > 0)
                        r = mid - 1;
                    else
                        l = mid + 1;
            }
        }
    }

}
View Code

相关文章: