python二分法求平方根B 您所在的位置:网站首页 python输出取消间隔 python二分法求平方根B

python二分法求平方根B

2023-03-22 11:57| 来源: 网络整理| 查看: 265

任务描述

设计一个用二分法计算一个大于或等于 0 的实数 n 的平方根的函数sqrt_binary(n),实数 n和计算精度控制由用户在同一行内输入,用逗号进行分隔,输出结果严格保留8位小数。当(abs(x * x - n) )小于或等于设定的精度时,近似认为 x * x == n。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

注:初始区间取[0,n+0.25]

输入格式‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

在同 行内输入一个实数 n(大于或等于0)和一个代表精度的数字(可用1e-m格式输入),逗号间隔

输出格式‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

第一行输出用自己设计的函数计算得到的平方根‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

第二行输出用math库开平方函数计算得到的平方根

代码如下:

from math import sqrt x, g = input().split(',') def sqrt_binary(x,g): low = 0 high = x + 0.25 m = (low + high) / 2 while abs(m ** 2 - x) > g: if m ** 2 < x: low = m else: high = m m = (low + high) / 2 print(f'{m:.8f}') print(f'{sqrt(x):.8f}') sqrt_binary(float(x), float(g))

愿我们都能在各自坚持的道路上,遇见更好的自己😊



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有