написать код, чтобы найти квадратный корень, используя метод деления пополам в C ++?

Насколько я знаю, деление пополам сужает область поиска и достигает определенного значения в интервале. Пожалуйста, дайте мне пример того, как сделать общий код для поиска квадратного корня. я думаю, что три переменных — низкий, средний и высокий. высокий = пользовательский вход, низкий = 0, средний (низкий + высокий) / 2, проблема в том, как изменить значения.

-5

Решение

#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;
}
4

Другие решения

Допустим, мы ищем sqrt(N)

Как описано Вот, Вы должны найти среднее значение LOW и HIGH, если квадрат среднего больше Nмы меняем высокое значение на среднее значение, которое мы только что нашли, если оно меньше NМы меняем низкое значение на среднее. И мы повторяем шаги столько раз, чтобы удовлетворить требуемую точность.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector