#include <iostream>
#include <cmath>
using namespace std;
double fx(double x){
return 2*x*x*x-6*x;
}
double fx1(double x){
return 6*x*x-6;
}
double f2(double x){
return 12*x;
}
int main(){
double eps=0.01, x, xn=2.0, lyam=0.01, lyamb[100], l0=0.1, l ;
lyamb[0]=0.1;
for(int i=0; ; i++){
x=xn-lyam*fx1(xn);
if(abs(fx1(x))<eps){
cout<<x<<endl;
break;
}
xn=x;
}
for(int i=0; ; i++){
lyamb[i+1]=0.95*lyamb[i];
x=xn-lyamb[i]*fx1(xn);
if(abs(fx1(x))<eps){
cout<<x<<endl;
break;
}
xn=x;
}
double x1, xn1;
for(int i=0; ; i++){
xn1=xn;
for(int j=0; ; j++){
x1=xn1-fx1(xn1)/f2(xn1);
//cout << x1 << " " << xn1 << endl;
if(abs(x1-xn1)<eps){
break;
}
xn1=x1;
}
//cout << x1 << " " << fx1(x1) << endl;
l=(xn-x1)/fx1(xn);
//cout<<l<<endl;
x=xn-l*fx1(xn);
if(abs(fx1(x))<eps){
cout<<x<<endl;
break;
}
xn=x;
}
system("pause");
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmRvdWJsZSBmeChkb3VibGUgeCl7CnJldHVybiAyKngqeCp4LTYqeDsKfQpkb3VibGUgZngxKGRvdWJsZSB4KXsKcmV0dXJuIDYqeCp4LTY7Cn0KZG91YmxlIGYyKGRvdWJsZSB4KXsKcmV0dXJuIDEyKng7Cn0KaW50IG1haW4oKXsKZG91YmxlIGVwcz0wLjAxLCB4LCB4bj0yLjAsIGx5YW09MC4wMSwgbHlhbWJbMTAwXSwgbDA9MC4xLCBsIDsKbHlhbWJbMF09MC4xOwoKZm9yKGludCBpPTA7IDsgaSsrKXsKeD14bi1seWFtKmZ4MSh4bik7CmlmKGFicyhmeDEoeCkpPGVwcyl7CmNvdXQ8PHg8PGVuZGw7CmJyZWFrOwp9CnhuPXg7Cn0KCgpmb3IoaW50IGk9MDsgOyBpKyspewpseWFtYltpKzFdPTAuOTUqbHlhbWJbaV07Cng9eG4tbHlhbWJbaV0qZngxKHhuKTsKaWYoYWJzKGZ4MSh4KSk8ZXBzKXsKY291dDw8eDw8ZW5kbDsKYnJlYWs7Cn0KeG49eDsKfQoKCmRvdWJsZSB4MSwgeG4xOwpmb3IoaW50IGk9MDsgOyBpKyspewp4bjE9eG47CmZvcihpbnQgaj0wOyA7IGorKyl7CngxPXhuMS1meDEoeG4xKS9mMih4bjEpOwovL2NvdXQgPDwgeDEgPDwgIiAiIDw8IHhuMSA8PCBlbmRsOwppZihhYnMoeDEteG4xKTxlcHMpewpicmVhazsKfQp4bjE9eDE7Cgp9Ci8vY291dCA8PCB4MSA8PCAiICIgPDwgZngxKHgxKSA8PCBlbmRsOwpsPSh4bi14MSkvZngxKHhuKTsKLy9jb3V0PDxsPDxlbmRsOwoKeD14bi1sKmZ4MSh4bik7CmlmKGFicyhmeDEoeCkpPGVwcyl7CmNvdXQ8PHg8PGVuZGw7CmJyZWFrOwp9CnhuPXg7Cn0Kc3lzdGVtKCJwYXVzZSIpOwpyZXR1cm4gMDsKfQ==