P1024 一元三次方程求解
Posted jackwang-sparrow
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1024 一元三次方程求解相关的知识,希望对你有一定的参考价值。
采用分治思想
#include<bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned long long ull; double a,b,c,d; double f(double x) { return a*pow(x,3)+b*pow(x,2)+c*x+d; } int main() { int s=0; scanf("%lf%lf%lf%lf",&a,&b,&c,&d); double i,j; for(i=-100; i<=100; i++) { j=i+1; if(f(i)==0) { if(s) { printf(" "); } s++; printf("%.2lf",i); } if(f(i)*f(j)<0) { double l,r,mid; l=i;r=j; while(r-l>=0.001) { mid=(l+r)/2; if(f(mid)*f(l)<0) { r=mid; } else { l=mid; } } if(s) { printf(" "); } s++; printf("%.2lf",r); } } }
以上是关于P1024 一元三次方程求解的主要内容,如果未能解决你的问题,请参考以下文章
[NOIP提高&洛谷P1024]一元三次方程求解 题解(二分答案)