题目
描述
航天飞行器是一项复杂而又精密的仪器,飞行器的损耗主要集中在发射和降落的过程,
科学家根据实验数据估计,如果在发射过程中,
产生了 x 程度的损耗,那么在降落的过程中就会产生 x2 程度的损耗,
如果飞船的总损耗超过了它的耐久度,飞行器就会爆炸坠毁。
问一艘耐久度为 h 的飞行器,假设在飞行过程中不产生损耗,
那么为了保证其可以安全的到达目的地,
只考虑整数解,至多发射过程中可以承受多少程度的损耗?
输入
每个输入包含一个测试用例。每个测试用例包含一行一个整数 h (1 <= h <= 10^18)
输出
输出一行一个整数表示结果
Example
Input
10
Output
2
题解
二分法
- 二分的范围为 [le,re], le=1, re=min(n,1E+9)
- 若 中点 m,m 满足 m*m+m==n ,结束二分;
- 若不满足,继续二分 直到 le>re 为止
1 |
|
函数法
- 假设发射消耗 x,则 x+x*x <= n;
- 一元二次不等式求解得 x <= (-1+sqrt(1+4n))/2
1 |
|