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

StackOverflow https://stackoverflow.com/questions/19844698

  •  29-07-2022
  •  | 
  •  

Вопрос

Потрошение, насколько я знаю, сужает ваш поиск и достигает конкретного значения в интервале. Пожалуйста, дайте мне образец этого, как сделать общий код, чтобы найти квадратный корн. Я думаю, что приобретает три переменных с низкой, средней, высокой. High = userInput, low = 0, mid (low + high) /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)

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top