问题 E: 解方程

题目描述

求方程f(x)=2^x+3^x-4^x=0在[1,2]内的根。

输入

输入m(0<=m<=8),控制输出精度

输出

三个实根(根与根之间留有空格)输出方程f(x)=0的根,x的值精确小数点m位

样例输入

3

样例输出

1.507

解答(分治算法):

n = int(input())

def func(x):
    return 0.5 ** x + 0.75 ** x - 1

left = 1
right = 2
middle1 = 1.5
while abs(right - left) > 1e-9 or abs(func(middle1)) > 1e-9:
    if func(middle1) * func(right) < 0:
        left = middle1
    if func(middle1) * func(left) < 0:
        right = middle1
    middle1 = (left + right) / 2
print(round(right, n))

答案不唯一,必定有更加优化的解法欢迎分享

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐