اكتب رمزًا للعثور على الجذر التربيعي باستخدام طريقة التنصيف في c++؟[مغلق]

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

  •  29-07-2022
  •  | 
  •  

سؤال

التنصيف هو بقدر ما أعرف تضييق نطاق البحث والوصول إلى القيمة المحددة في الفاصل الزمني.من فضلك أعطني عينة من كيفية عمل كود عام للعثور على الجذر التربيعي.الطريقة التي أفكر بها هي أخذ ثلاثة متغيرات منخفضة ومتوسطة وعالية.High = userinput، low = 0، mid (منخفض + مرتفع) /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, ، نقوم بتغيير القيمة المنخفضة بالمتوسط.ونكرر الخطوات عدة مرات للوصول إلى الدقة المطلوبة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top