问题描述
求多项式
$$ax^{11}-3x^8-5x^3-1=0$$
的根,要求a用屏幕进行输入,根的精度为0.0000001,并且说可能无解。
C语言实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| #include <stdio.h> #include <math.h>
double f(double a, double x) { return (a*pow(x,11)-3*pow(x,8)-5*pow(x,3)-1)/1.0; }
double f1(double a, double x) { return (a*11*pow(x,10)-24*pow(x,7)-15*pow(x,2))/1.0; }
double F(double a, double x) { double x1; x1=x-1.0*f(a, x)/f1(a, x); return (x1); }
int main() { double x0=20.0,D_value=0.0,x1=0.0,a=0.0; printf("ax^11 - 3x^8 - 5x^3 - 1 = 0\n请输入a: "); scanf("%lf", &a); printf("\n\na为:%lf", a); do { x1=F(a, x0); D_value=fabs(x1-x0); x0=x1; } while((D_value<=0.0000001)); printf("\n\n结果为:%lf", D_value); printf("\n\n"); return 0; }
|