f(x)=xInx-1=0の解を二分法で求める問題です。
Gnome端末でコンパイルしています。
下のようにプログラミングすると、1.88となります。
正答は1.76なのですが、どのように直したら良いか分からないので、教えていただきたいです。
♯include<stdio.h>
♯include<math.h>
♯define F(x) (x*log(x)-1.)
♯define EPS (1.E-5)
int main(void)
{
double a=1.,b=2.;
double c,fa,fc;
int i,n;
n=log((b-a)/EPS)/log(2.)+0.5;
fa=F(a);
for(i=1;i<=n;i++)
{
c=(a+b)/2;
fc=F(c);
if(fa*fc<0.)
b-c;
else
a=c;
}
printf("x=%4.2lf",c);
}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。