有人看下这个怎么错了?

img

img

红框内的内容,错了;你是想计算x的值吧?

你初学C语言吧。哪能这样直接写出一个表达式的?程序也不会给你解方程呀。

代码可以改成下面这样,但是这个x的值求不出来,511/150 = 3,这个公式就相当于: (1-x)^4 - 2*(1-x)^2 + 3 = 0;
任何整数都不能使公式成立。

#include <stdio.h>
#include <math.h>
int main()
{
    int x;
    int d;
    for (x = 0;;x++)
    {
        d = pow(long double(1-x),4) - 2*pow(long double(1-x),2) + 511/150;
        if(d==0)
            break;
    }
    printf("%d\n",x);
    return 0;
}