洛谷P1024 一元三次方程求解(数学)

题意

题目链接

Sol

本来是一道好的公式题。

然后输出只要保留两位小数??

直接上不就赢了嘛。。

#include<bits/stdc++.h>
#define LL long long
using namespace std;
const int MAXN = 1e6;
const double eps = 1e-3;
inline int read() {
    char c = getchar(); int x = 0, f = 1;
    while(c < '0' || c > '9') {if(c == '-') f = -1; c = getchar();}
    while(c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();
    return x * f;
}
double A, B, C, D;
int tot = 0;
bool dcmp(double x) {
    return fabs(x) <= eps;
}
void check(double k) {
    if(dcmp(A * k * k * k + B * k * k + C * k + D)) printf("%.2lf ", k), tot++;
}
int main() {
    scanf("%lf%lf%lf%lf", &A, &B, &C, &D);
    for(double i = -100; i <= 100; i += 0.01) {
        check(i);
        if(tot == 3) break;
    }
    return 0; 
}

猜你喜欢

转载自www.cnblogs.com/zwfymqz/p/9859988.html