用牛顿迭代法
令f(x)=x^a+blnx-c
可以求出xn+1 = xn - f( xn ) / f'( xn )
然后只要令初始x为一个大于0的数就行
#include<stdio.h> #include<math.h> int main(){ int a,b,c; scanf("%d%d%d",&a,&b,&c); double x=1; while(fabs(pow(x,a)+b*log(x)-c)>0.0000001) { x=x-(pow(x,a)+b*log(x)-c)/(a*pow(x,a-1)+b/x); } printf("%.14lf",x); }