编写代码以在 C++ 中使用二分法查找平方根
write code to find square-root using bisection method in c++?
据我所知,平分法缩小了搜索范围并达到特定的值。 请给我一个示例,说明如何制作通用代码以查找平方根。 我认为的方式是采取三个变量低,中,高。 高=用户输入,低=0,中(低+高)/2,问题是如何更改值。
#include <iostream>
using namespace std;
int main() {
int val;
cout << "Enter the number: ";
cin >> val;
if( val< 0) {
cout<< "According to my maths its not possible." << endl;
} else {
float low = 0, high = val;
float mid = (low + high)/2;
int c = 0;
while (c != 1) {
if(mid * mid = val) {
cout << "Square root is: " << mid <<endl;
c = 1;
} else {
if(mid * mid > val) {
high = mid;
mid = (low + high)/2;
} else {
low = mid;
mid = (low + high)/2;
}
}
}
}
return 0;
}
假设我们正在寻找sqrt(N)
如此处所述,你必须找到 LOW 和 HIGH 的平均值,如果平均值的平方大于 N
,我们用我们刚刚找到的平均值改变高值,如果它小于 N
,我们用平均值改变低值。我们重复这些步骤多次,以满足所需的精度。
相关文章:
- 使用不变量来确定二分搜索中的边界条件
- 基于函数而不是集合的二分搜索或迭代器?
- UVA 10077 - 为什么是二分搜索?
- 平方根内禀反比
- 简单的平方根
- 是否有一个C++函数可以准确返回平方根反比的内置 CPU 操作 RSQRTSS 的值?
- 试图找到一个数字的平方根,但代码不起作用。C++
- 简单的二分搜索对我不起作用。我正在尝试从文本文件中搜索单词
- 我在 c++ 中的二分法
- 使用二分法查找数的平方根时出现问题
- 递归除法和二分搜索中的错误
- 如何使用C 获取周期十进加点号的平方根
- C 平方根 /巴比伦法
- 这种浮点平方根近似是如何工作的
- 使用位移算法计算平方根始终输出相同的数字
- 用于二分搜索的错误简单功能(C++)
- C 查找无SQRT函数循环故障的平方根
- 如何获取数组中每个数字的平方根 (C++)
- 为什么我不能在犰狳中得到这个对称正定矩阵的平方根?
- 编写代码以在 C++ 中使用二分法查找平方根