我用Python写一个:
结果是:
import math
a = float(input('Enter coefficient a '))
b = float(input('Enter coefficient b '))
c = float(input('Enter coeeficient c '))
if a == 0:
print("a不能为0,不是一元二次方程")
else:
delta = b ** 2 - 4 * a *c
if delta < 0:
print("无实数解")
elif delta == 0:
print("有一个实数解")
else:
print("有两个实数解")
直接求根公式,计算的表达式运用而已
首先,对f(x)=ax3+bx2+cx+d求导(别告诉我说你没学过高数哦),得f'(x)=3ax2+2bx+c.
然后解方程f'(x)=0,得到两个实根x1、x2,也就是f(x)的极值点.f(x)=0的3个根应在区间[-100,x1]、[x1,x2]、[x2,100]中.
用二分法,即可求出f(x)=0的3个根.