一道計算一元二次方程解的演算法題

2021-07-13 21:09:30 字數 895 閱讀 8248

今天在群裡有人求助一道求解一元二次方程的題目。嘗試著寫了一下,發現還挺容易犯錯了。除錯了幾次總算ok了

題目如下

解法如下:

#include double processdata(double x, double *a, double*b, int count);

//calc the formula

//f(x)=a[0]* x^0 + a[1] * x^1 + ... + a[n] * x^n = 0

double calcformula(double *a, int count)

delete b;

return x;

}double processdata(double x, double *a, double*b, int count)

return (x - fax / fbx);

}int main()

; int n = 3;

std::cout << calcformula(a, n) << std::endl;

return 0;

}

計算結果如下

難度不算很高,,但是特別容易犯錯。尤其是初值x為0的情況下可能遇到的情況。由於為了減少開銷沒有多次呼叫pow函式,而是自己寫的累積乘積,特別容易出錯。

好在除錯幾次總算ok了。

解一元二次方程

題目描述 求一元二次方程ax2 bx c 0的根,三個係數a,b,c由鍵盤輸入,且a不能為0,且保證b2 4ac 0。程式中所涉及的變數均為double型別。輸入 以空格分隔的一元二次方程的三個係數,雙精度double型別 輸出 分行輸出兩個根如下 注意末尾的換行 r1 第乙個根 r2 第二個根 結...

一元二次方程

作 者 a42 覃燕玲 完成日期 2014年 10 月 25 日 版 本 號 v1.0 問題描述 建立乙個程式解平方根 輸入描述 ax 2 bx x 0 a o 程式輸出 平方根 using system using system.collections.generic using system.l...

一元二次方程

一 知識要點 一元二次方程和一元一次方程都是整式方程,它是初中數學的乙個重點內容,也是今後學習數學的基 礎。一元二次方程的一般形式為 ax 2 2為次數,即x的平方 bx c 0,a 0 它是只含乙個未知數,並且未知數的最高次數是2 的整式方程。解一元二次方程的基本思想方法是通過 降次 將它化為兩個...