الخوارزميات و هياكل البيانات التحدي التاسع - حل التمرين الثالث بلغة C++
المطلوب
قم بتعريف دالة إسمها SquareRoot()
, عند استدعاءها نمرر لها عدد, فترجع ناتج قيمة الجزر التربيعي ( Square Root ) له.
بعدها قم بتجربة هذه الدالة في البرنامج.
الحل بلغة C++
#include <iostream> float squareRoot(int n) { float low = 0; float high = (float) n + 1; float mid; while ((high-low) > 0.00001) { mid = (low + high) / 2; if (mid * mid < n) { low = mid; } else { high = mid; } } return low; } int main() { int x = 5; std::cout << "The square root of " << 5 << " is: " << squareRoot(x); char end; std::cin >> end; return 0; }
سنحصل على النتيجة التالية عند التشغيل.
The square root of 5 is: 2.23607