P1024一次元三次方程式解法(Luogu)

オリジナルタイトルポータル

ここに画像の説明を挿入
アイデア:水の質問、質問のプロンプトに従って入力するだけ

コードリファレンス

#include <iostream>
#include<iomanip>
using namespace std;
int main()
{
    
    
   double a,b,c,d;
   double j = 0,f1 = 0,f2 = 0;
   cin>>a>>b>>c>>d;
   for(double i=-100;i<=100;i+=0.001)
   {
    
    
      j = i+0.001;
      f1 = a*i*i*i+b*i*i+c*i+d;
      f2 = a*j*j*j+b*j*j+c*j+d;
      if(f1>0 && f2<0 || f1<0 && f2>0)
      {
    
    
         double x = (i+j)/2;//二分法取值代表根,因为计算机的精确度0.001
         cout<<setiosflags(ios::fixed)<<setprecision(2)<<x<<" ";
      }
   }
}

おすすめ

転載: blog.csdn.net/Bertil/article/details/106818673