এখানে দেখব একটি সংখ্যার ঘনমূল (cubic root) কীভাবে বের করা যায়। সংখ্যা ২৭ হলে ঘনমূল ৩। লাইব্রেরি ফাংশন ছাড়া নিজের লজিক দিয়ে সমাধান করা হবে। বাইনারি সার্চ (binary search) পদ্ধতি ব্যবহার করা হবে। ধাপগুলো:
থ্রেশহোল্ড (threshold) মান ধরা হয়: threshold = 0.000001
বাম মান (left) ০, ডান মান (right) = সংখ্যা
মিড (mid) := (left + right)/2 গণনা
যদি |number - mid³| < threshold হয়, তবে mid রিটার্ন
যদি mid³ > number হয়, তবে right := mid
যদি mid³ < number হয়, তবে left := mid
উদাহরণ
#include<iostream> #include<cmath> using namespace std; double cubeRoot(int num) { double threshold = 0.000001; double left = 0, right = num; double mid; while(left <= right){ mid = (left + right)/2; if(abs(num - (mid*mid*mid)) < threshold) return mid; if((mid*mid*mid) > num) right = mid; if((mid*mid*mid) < num) left = mid; } } int main() { int n = 3; cout << "cube root of 3 is: " << cubeRoot(n); } আউটপুট
cube root of 3 is: 1.44225