日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1814: 一元三次方程求解

發布時間:2024/9/3 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1814: 一元三次方程求解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

//很久之前寫的,記錄一下~
1814: 一元三次方程求解
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 45 Solved: 28
[Submit][Status][Web Board]
Description

有形如:ax3+bx2+cx+d=0 這樣的一個一元三次方程。給出該方程中各項的系數(a,b,c,d 均為實數),并約定該方程存在三個不同實根(根的范圍在-100至100之間),且根與根之差的絕對值> =1。要求三個實根。。

Input

四個實數:a,b,c,d。數據規模和約定   |a|,|b|,|c|,|d|< =10

Output

由小到大依次在同一行輸出這三個實根(根與根之間留有空格),并精確到小數點后2位

Sample Input

1 -5 -4 20

Sample Output

-2.00 2.00 5.00

HINT

Source
AC_code:

#include<stdio.h> #include<math.h> double a,b,c,d,m[5]; double y(double x) {return (a*x*x*x+b*x*x+c*x+d); } int main() {scanf("%lf%lf%lf%lf",&a,&b,&c,&d);int i=0;double x,x1,x2,x3;for( x = -100; x <= 100; x++){x1 = x,x2 = x+1;if(y(x1)==0) m[i++] = x1;else if((y(x1)*y(x2))<0){do{x3 = (x1+x2) / 2;if((y(x1)*y(x3))<=0){x2 = x3;}else x1 = x3;}while((x2-x1)>=0.001);m[i++] = x1;}}printf("%.2lf",m[0]);for(int j = 1; j < i; j++){printf(" %.2lf",m[j]);}printf("\n");return 0; }

總結

以上是生活随笔為你收集整理的1814: 一元三次方程求解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。