プログラマー軍団がC/C++の宿題を解決します 34代目
■ このスレッドは過去ログ倉庫に格納されています
0386デフォルトの名無しさん
NGNG#include<math.h>
#define M 0.0001
double f1(double x)
{
return(exp(x)-1.0/x);
}
double f2(double x)
{
return(exp(x)+1.0/pow(x,2));
}
int main(void)
{
double x1=1.0,x2;
do{
x2=x1;
x1-=(f1(x1)/f2(x1));
}while(fabs(x2-x1)<M);
printf("x=%f\n",x1);
return(0);
}
ニュートン・ラフソン法でexp(x)-(1..0/x)を解く問題なのですが
なぜか1回しかループしません。だから答えが出ないんです。
教えてくんでゴメンナサイ、教えてください。
■ このスレッドは過去ログ倉庫に格納されています