package wangyi;
/**
* Created by Administrator on 2016/12/7.
* 航天飛行器是一項複雜而又精密的儀器,飛行器的損耗主要集中在發射和降落的過程,
* 科學家根據實驗數據估計,如果在發射過程中,產生了 x 程度的損耗,那麼在降落的過程中就會產生 x2
* 程度的損耗,如果飛船的總損耗超過了它的耐久度,飛行器就會爆炸墜毀。問一艘耐久度爲 h 的飛行器,
* 假設在飛行過程中不產生損耗,那麼爲了保證其可以安全的到達目的地,
* 只考慮整數解,至多發射過程中可以承受多少程度的損耗?
*/
import java.math.BigInteger;
import java.util.Scanner;
public class Test3 {
private static long h;
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
h = scan.nextLong();
long s = 0, e = h;
long result = 0;
BigInteger rh = BigInteger.valueOf(h);
while(s + 1< e) {
long mid = (s + e) / 2;
BigInteger r = BigInteger.valueOf(mid);
BigInteger r1 = BigInteger.valueOf(mid
+ 1);
r = r.multiply(r1);
if(r.compareTo(rh) <= 0) {
s = mid;
result = mid;
} else{
e = mid;
}
}
System.out.println(result);
scan.close();
}
}
網易面試題之 航天飛行器是一項複雜而又精密的儀器,飛行器的損耗主要集中在發射和降落的過程, * 科學家根據實驗數據估計,如果在發射過程中,產生了 x 程度的損耗,那麼在降落的過程中就會產生 x2
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.