C ++で二等分法を使用して角根を見つけるためのコードを書きますか? [閉まっている

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

  •  29-07-2022
  •  | 
  •  

質問

二等分は、私があなたの検索を絞り込み、間隔の特定の値に到達することを知っている限りです。そのサンプルのサンプルを教えてください。一般的なコードを作成してSquare-Rootを見つけることができます。私が思うに、3つの変数を低く、中、高くすることです。 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