洛谷 B3627 立方根
題目描述
給定正整數?n,求?3√n?。答案向下取整。
輸入格式
僅一行,一個正整數?n。
輸出格式
僅一行,一個正整數,表示3√n。向下取整輸出。
輸入輸出樣例
輸入 #1
27
輸出 #1
3
輸入 #2
100000
輸出 #2
46
說明/提示
對于100%?的數據,有 n≤10^15。
import java.util.*;
public class Main{public static void main(String[] args) {Scanner sc=new Scanner(System.in);long n=sc.nextLong();long mid=n;long low=1;long high=100000;//因為n最大就10的15次方,所以n的立方根肯定不會超過100000while(low<=high){mid = (low + high) / 2;if(Math.pow(mid,3) <= n){low = mid + 1;//如果數字小了,就修改low}if(Math.pow(mid,3)> n){high = mid - 1;//如果數字大了,就修改high}}System.out.println(low-1);}
}