#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
// ফাংশন f(x) = x^3 - x - 3
double f(double x) {
return pow(x, 3) - x - 3;
}
int main() {
double x1, x2, x3, f1, f2;
const double tolerance = 1e-6; // নির্ভুলতা
const int max_iterations = 100; // সর্বাধিক পুনরাবৃত্তি
int iteration = 1;
// প্রাথমিক অনুমান গ্রহণ
cout << "x1 এর মান প্রবেশ করুন: ";
cin >> x1;
cout << "x2 এর মান প্রবেশ করুন: ";
cin >> x2;
cout << fixed << setprecision(6);
cout << "\nIteration\tx1\t\tx2\t\tx3\t\tf(x1)\t\tf(x2)\n";
while (iteration <= max_iterations) {
f1 = f(x1);
f2 = f(x2);
// বিভাজকের মান খুব ছোট হলে সতর্কতা
if (fabs(f2 - f1) < 1e-12) {
cout << "বিভাজকের মান খুব ছোট। শূন্য দ্বারা বিভাজনের ঝুঁকি।\n";
break;
}
// পরবর্তী অনুমান নির্ণয়
x3 = (f2 * x1 - f1 * x2) / (f2 - f1);
// বর্তমান পুনরাবৃত্তি প্রদর্শন
cout << iteration << "\t\t" << x1 << "\t" << x2 << "\t" << x3 << "\t" << f1 << "\t" << f2 << "\n";
// সন্নিবেশ নির্ধারণ
if (fabs((x3 - x2) / x3) < tolerance) {
cout << "\nআনুমানিক মূল = " << x3 << endl;
break;
}
// পরবর্তী পুনরাবৃত্তির জন্য প্রস্তুতি
x1 = x2;
x2 = x3;
iteration++;
}
if (iteration > max_iterations) {
cout << "সর্বাধিক পুনরাবৃত্তির মধ্যে পদ্ধতিটি সন্নিবেশিত হয়নি।\n";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CiNpbmNsdWRlIDxpb21hbmlwPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vIOCmq+CmvuCmguCmtuCmqCBmKHgpID0geF4zIC0geCAtIDMKZG91YmxlIGYoZG91YmxlIHgpIHsKICAgIHJldHVybiBwb3coeCwgMykgLSB4IC0gMzsKfQoKaW50IG1haW4oKSB7CiAgICBkb3VibGUgeDEsIHgyLCB4MywgZjEsIGYyOwogICAgY29uc3QgZG91YmxlIHRvbGVyYW5jZSA9IDFlLTY7ICAvLyDgpqjgpr/gprDgp43gpq3gp4HgprLgpqTgpr4KICAgIGNvbnN0IGludCBtYXhfaXRlcmF0aW9ucyA9IDEwMDsgLy8g4Ka44Kaw4KeN4Kas4Ka+4Kan4Ka/4KaVIOCmquCngeCmqOCmsOCmvuCmrOCng+CmpOCnjeCmpOCmvwogICAgaW50IGl0ZXJhdGlvbiA9IDE7CgogICAgLy8g4Kaq4KeN4Kaw4Ka+4Kal4Kau4Ka/4KaVIOCmheCmqOCngeCmruCmvuCmqCDgppfgp43gprDgprngpqMKICAgIGNvdXQgPDwgIngxIOCmj+CmsCDgpq7gpr7gpqgg4Kaq4KeN4Kaw4Kas4KeH4Ka2IOCmleCmsOCngeCmqDogIjsKICAgIGNpbiA+PiB4MTsKICAgIGNvdXQgPDwgIngyIOCmj+CmsCDgpq7gpr7gpqgg4Kaq4KeN4Kaw4Kas4KeH4Ka2IOCmleCmsOCngeCmqDogIjsKICAgIGNpbiA+PiB4MjsKCiAgICBjb3V0IDw8IGZpeGVkIDw8IHNldHByZWNpc2lvbig2KTsKICAgIGNvdXQgPDwgIlxuSXRlcmF0aW9uXHR4MVx0XHR4Mlx0XHR4M1x0XHRmKHgxKVx0XHRmKHgyKVxuIjsKCiAgICB3aGlsZSAoaXRlcmF0aW9uIDw9IG1heF9pdGVyYXRpb25zKSB7CiAgICAgICAgZjEgPSBmKHgxKTsKICAgICAgICBmMiA9IGYoeDIpOwoKICAgICAgICAvLyDgpqzgpr/gpq3gpr7gppzgppXgp4fgprAg4Kau4Ka+4KaoIOCmluCngeCmrCDgppvgp4vgpp8g4Ka54Kay4KeHIOCmuOCmpOCmsOCnjeCmleCmpOCmvgogICAgICAgIGlmIChmYWJzKGYyIC0gZjEpIDwgMWUtMTIpIHsKICAgICAgICAgICAgY291dCA8PCAi4Kas4Ka/4Kat4Ka+4Kac4KaV4KeH4KawIOCmruCmvuCmqCDgppbgp4Hgpqwg4Kab4KeL4Kaf4KWkIOCmtuCnguCmqOCnjeCmryDgpqbgp43gpqzgpr7gprDgpr4g4Kas4Ka/4Kat4Ka+4Kac4Kao4KeH4KawIOCmneCngeCmgeCmleCmv+ClpFxuIjsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQoKICAgICAgICAvLyDgpqrgprDgpqzgprDgp43gpqTgp4Ag4KaF4Kao4KeB4Kau4Ka+4KaoIOCmqOCmv+CmsOCnjeCmo+CnnwogICAgICAgIHgzID0gKGYyICogeDEgLSBmMSAqIHgyKSAvIChmMiAtIGYxKTsKCiAgICAgICAgLy8g4Kas4Kaw4KeN4Kak4Kau4Ka+4KaoIOCmquCngeCmqOCmsOCmvuCmrOCng+CmpOCnjeCmpOCmvyDgpqrgp43gprDgpqbgprDgp43gprbgpqgKICAgICAgICBjb3V0IDw8IGl0ZXJhdGlvbiA8PCAiXHRcdCIgPDwgeDEgPDwgIlx0IiA8PCB4MiA8PCAiXHQiIDw8IHgzIDw8ICJcdCIgPDwgZjEgPDwgIlx0IiA8PCBmMiA8PCAiXG4iOwoKICAgICAgICAvLyDgprjgpqjgp43gpqjgpr/gpqzgp4fgprYg4Kao4Ka/4Kaw4KeN4Kan4Ka+4Kaw4KajCiAgICAgICAgaWYgKGZhYnMoKHgzIC0geDIpIC8geDMpIDwgdG9sZXJhbmNlKSB7CiAgICAgICAgICAgIGNvdXQgPDwgIlxu4KaG4Kao4KeB4Kau4Ka+4Kao4Ka/4KaVIOCmruCnguCmsiA9ICIgPDwgeDMgPDwgZW5kbDsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQoKICAgICAgICAvLyDgpqrgprDgpqzgprDgp43gpqTgp4Ag4Kaq4KeB4Kao4Kaw4Ka+4Kas4KeD4Kak4KeN4Kak4Ka/4KawIOCmnOCmqOCnjeCmryDgpqrgp43gprDgprjgp43gpqTgp4HgpqTgpr8KICAgICAgICB4MSA9IHgyOwogICAgICAgIHgyID0geDM7CiAgICAgICAgaXRlcmF0aW9uKys7CiAgICB9CgogICAgaWYgKGl0ZXJhdGlvbiA+IG1heF9pdGVyYXRpb25zKSB7CiAgICAgICAgY291dCA8PCAi4Ka44Kaw4KeN4Kas4Ka+4Kan4Ka/4KaVIOCmquCngeCmqOCmsOCmvuCmrOCng+CmpOCnjeCmpOCmv+CmsCDgpq7gpqfgp43gpq/gp4cg4Kaq4Kam4KeN4Kan4Kak4Ka/4Kaf4Ka/IOCmuOCmqOCnjeCmqOCmv+CmrOCnh+CmtuCmv+CmpCDgprngpq/gprzgpqjgpr/gpaRcbiI7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0K