1 题目
给定接口double sqrt(int x, double delta)请你实现开平方,其中x为底数,delta为最大误差
2 分析实现
- 直觉—>二分法
- 为了方便处理,将范围砍掉一半,认为0 =< x^0.5 - sqrt(x) < delta
- 设计 递归 接口,设计递归基,递归逻辑
#include <iostream>
// #include <cstdlib>
// #include <vector>
// #include <algorithm>
using namespace std;
double f(double x, double delta, double begin, double end)
{
double mid = (begin + end) / 2;
if (x < mid * mid)
{
<

本文介绍了如何使用C++实现开平方根的算法,主要采用二分法进行求解,并探讨了double类型的精度问题、递归的抽象层面以及不同打印方式的差异。同时,提到了更高级的解法如泰勒展开法和牛顿迭代法。
最低0.47元/天 解锁文章
1968

被折叠的 条评论
为什么被折叠?



