http://poj.org/problem?id=2109
代码:
import java.util.*;
import java.math.BigInteger;
import java.math.BigDecimal;
;
public class Main {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int n;
BigInteger m,l,r,mid;
BigInteger k2=BigInteger.ONE.add(BigInteger.ONE);
while(in.hasNext()){
n=in.nextInt();
m=in.nextBigInteger();
l=BigInteger.ONE;
r=m;
while(l.compareTo(r)<0){
mid=l.add(r).divide(k2);
int tmp=mid.pow(n).compareTo(m);
if(tmp==0){
r=mid;break;
}
if(tmp<0){
l=mid.add(BigInteger.ONE);
}
else{
r=mid.subtract(BigInteger.ONE);
}
}
System.out.println(r);
}
}
}
浙公网安备 33010602011771号