【Python数据结构与算法】二分法----解方程
【摘要】 【Python数据结构与算法】二分法----解方程
题目:解方程
描述
求解方程 x^2 + x + 1 + log2(x) = y ,这里log2表示以2为底的对数,x^2是x的平方。对于输入的正整数y,求x
输入
多组测试用例,每组一行,为一个正整数y(10≤y≤100000000)
输出
对于每组测试用例,输出解x(四舍五入精确到小数点后4位)
样例输入
10
49
样例输出
2.3333
6.2532
AC代码
计算log2可使用代码:
from math import log2
from math import log2
while True:
try:
y = int(input())
except:
break
L,R = 1,y
eps = 1e-5
while R - L >= eps:
x = L + (R - L) / 2
val = x * x + x + 1 + log2(x) - y
if val < 0:
L = x
else:
R = x
x = L + (R - L) / 2
print("%.4f" % x )
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)