drc2000再来 发表于 2022-5-26 12:37

谢谢 lu 老师和 elim老师,我要把结果收藏.

ysr 发表于 2022-8-17 14:06

输入1:a=1,b=11,c=46,d=96,e=120;输出结果1:    x1,2=-4.4147314911+ -1.2945834215i,x3,4=-1.0852685088+ -2.1193668017i

ysr 发表于 2022-8-17 14:09

本帖最后由 ysr 于 2022-8-17 09:55 编辑

下面是另一个程序的结果(用的天山草老师的方法):

输入1:a=1,b=11,c=46,d=96,e=120;输出结果1:    x1,2=-4.4147314911+ -1.2945834215i,x3,4=-1.0852685089+ -2.1193668017i

ysr 发表于 2022-8-17 15:04

本帖最后由 ysr 于 2022-8-17 07:21 编辑

输入1:a=1,b=2,c=3,d=4,e=5;输出结果1:    x1,2=-0.7790981609+ -1.3540192271,x3,4=-0.2209018391+ -1.6929245012i

输入2:a=1,b=11,c=46,d=96,e=120;输出结果2:    x1,2=-4.4147314911+ -1.2945834215i,x3,4=-1.0852685088+ -2.1193668017i

这个都是用《数学手册》的方法编的程序计算的结果。

代码如下:
Private Sub Command1_Click()
Dim a, b, c, d, f, g
Dim ja, jb, jc
k = DeleteSpace(Text1.Text)
ja = DeleteSpace(Text2.Text)
jb = DeleteSpace(Text3.Text)
jc = DeleteSpace(Text4.Text)
jd = DeleteSpace(Text5.Text)
sd1 = DeleteSpace(Text15.Text)
If Abs(Val(sd1)) <= 10 Then
sd = 10 + 2
Else
If Len(sd1) > 3 And Abs(Val(sd1)) > 300 Then
sd = 300 + 2
Else
sd = Int(Abs(Val(sd1))) + 2
End If
End If

a2 = zhengliys2(Trim(ja), Val(sd))
b2 = zhengliys2(Trim(jb), Val(sd))

c2 = zhengliys2(Trim(jc), Val(sd))
D2 = zhengliys2(Trim(jd), Val(sd))
k2 = zhengliys2(Trim(k), Val(sd))
If MBJC(Trim(k2), 0) = 0 Then
Text4.Text = "a 不能为 0"
   Text5.Text = "a 为 0可能已不是1元4次方程"
Else
   
a3 = mcc2(Trim(a2), Trim(k2), Val(sd))
b3 = mcc2(Trim(b2), Trim(k2), Val(sd))
c3 = mcc2(Trim(c2), Trim(k2), Val(sd))
d3 = mcc2(Trim(D2), Trim(k2), Val(sd))
jk = 1 & String(sd, "0")
ja1 = tjfh(Trim(b3), -1)
jb1 = mpc2(mbc2(Trim(a3), Trim(c3), Val(sd)), mbc2(4 & String(sd, "0"), Trim(d3), Val(sd)))
jc1 = mpc2(mpc2(mbc2(4 & String(sd, "0"), mbc2(Trim(b3), Trim(d3), Val(sd)), Val(sd)), mbc2(Trim(c3), Trim(c3), Val(sd))), mbc2(mbc2(Trim(a3), Trim(a3), Val(sd)), Trim(d3), Val(sd)))
y = jie3cifc(Trim(ja1), Trim(jb1), Trim(jc1), Trim(jk), Val(sd))
Y1 = zhengliys2(Trim(y), Val(sd))
End If
Text6 = zhengliys2(Trim(y), Val(sd))
Text8 = y
y8 = mpc2(mbc2(Trim(Y1), Trim(a3), Val(sd)), mbc2(2 & String(sd, "0"), Trim(b3), Val(sd)))
za = 1 & String(sd, "0")
zb = mbbc2(qdfh(mpc3(mpc2(mbc2(Trim(a3), Trim(a3), Val(sd)), mbc2(4 & String(sd, "0"), Trim(b3), Val(sd))), mbc2(4 & String(sd, "0"), Trim(Y1), Val(sd)))), Val(sd))
zc = mbbc2(qdfh(mpc2(mbc2(Trim(Y1), Trim(Y1), Val(sd)), mbc2(4 & String(sd, "0"), Trim(d3), Val(sd)))), Val(sd))
zb1 = mcc2(mpc3(Trim(a3), Trim(zb)), 2 & String(sd, "0"), Val(sd))
zb2 = mcc2(mpc2(Trim(a3), Trim(zb)), 2 & String(sd, "0"), Val(sd))
zc1 = mcc2(mpc3(Trim(Y1), Trim(zc)), 2 & String(sd, "0"), Val(sd))
zc2 = mcc2(mpc2(Trim(Y1), Trim(zc)), 2 & String(sd, "0"), Val(sd))

If mbjc2(Trim(y8), 0) > 0 Then
y3 = jie2cifc(Trim(za), Trim(zb1), Trim(zc1), Val(sd))
y4 = jie2cifc(Trim(za), Trim(zb2), Trim(zc2), Val(sd))
Else
y3 = jie2cifc(Trim(za), Trim(zb1), Trim(zc2), Val(sd))
y4 = jie2cifc(Trim(za), Trim(zb2), Trim(zc1), Val(sd))
End If
Text9 = y3
Text10 = y4
Label1.Caption = Val(Label1.Caption) + 1
Text14.Text = Text14.Text & "输入" & Label1.Caption & ":" & "a=" & k & ",b=" & ja & ",c=" & jb & ",d=" & jc _
& ",e=" & jd & ";输出结果" & Label1.Caption & ":    " & "x1,2=" & Text9.Text & ",x3,4=" & Text10.Text
End Sub

ysr 发表于 2022-8-17 15:06

输入1:a=1,b=-2,c=3,d=4,e=5;输出结果1:    x1,2=-0.5795978599+ -0.7253449538i,x3,4=1.5795978599+ -1.8179487826i

这个也是按照《数学手册》的方法编程计算的结果

ysr 发表于 2022-8-17 17:28

输入1:a=1,b=2,c=-3,d=4,e=5;输出结果1:    x1,2=-1.9556023509+ -1.2268754722,x3,4=0.9556023509+ -1.1148003552i
这个结果是按天山草老师的方法做的程序编程的计算结果,代码如下:

Private Sub Command1_Click()
Dim a, b, c, d, f, g
Dim ja, jb, jc
k = DeleteSpace(Text1.Text)
ja = DeleteSpace(Text2.Text)
jb = DeleteSpace(Text3.Text)
jc = DeleteSpace(Text4.Text)
jd = DeleteSpace(Text5.Text)
sd1 = DeleteSpace(Text15.Text)
If Abs(Val(sd1)) <= 10 Then
sd = 10 + 2
Else
If Len(sd1) > 3 And Abs(Val(sd1)) > 300 Then
sd = 300 + 2
Else
sd = Int(Abs(Val(sd1))) + 2
End If
End If

a2 = zhengliys2(Trim(ja), Val(sd))
b2 = zhengliys2(Trim(jb), Val(sd))

c2 = zhengliys2(Trim(jc), Val(sd))
D2 = zhengliys2(Trim(jd), Val(sd))
k2 = zhengliys2(Trim(k), Val(sd))
If MBJC(Trim(k2), 0) = 0 Then
Text4.Text = "a 不能为 0"
   Text5.Text = "a 为 0可能已不是1元4次方程"
Else
   
a3 = mcc2(Trim(a2), Trim(k2), Val(sd))
b3 = mcc2(Trim(b2), Trim(k2), Val(sd))
c3 = mcc2(Trim(c2), Trim(k2), Val(sd))
d3 = mcc2(Trim(D2), Trim(k2), Val(sd))
jk = 8 & String(sd, "0")
ja1 = mbc2("-4" & String(sd, "0"), Trim(b3), Val(sd))
jb1 = mpc2(mbc2(2 & String(sd, "0"), mbc2(Trim(a3), Trim(c3), Val(sd)), Val(sd)), mbc2(8 & String(sd, "0"), Trim(d3), Val(sd)))
jc1 = mpc2(mbc2(Trim(d3), mpc2(mbc2(4 & String(sd, "0"), Trim(b3), Val(sd)), mbc2(Trim(a3), Trim(a3), Val(sd))), Val(sd)), mbc2(Trim(c3), Trim(c3), Val(sd)))
y = jie3cifc(Trim(ja1), Trim(jb1), Trim(jc1), Trim(jk), Val(sd))
Y1 = zhengliys2(Trim(y), Val(sd))
End If
Text6 = zhengliys2(Trim(y), Val(sd))
Text8 = y
za = 1 & String(sd, "0")
z2 = mpc2(mpc3(mbc2(8 & String(sd, "0"), Trim(Y1), Val(sd)), mbc2(Trim(a3), Trim(a3), Val(sd))), mbc2(4 & String(sd, "0"), Trim(b3), Val(sd)))
z2 = mbbc2(qdfh(Trim(z2)), Val(sd))

zb1 = mcc2(mpc3(Trim(a3), Trim(z2)), 2 & String(sd, "0"), Val(sd))
zb2 = mcc2(mpc2(Trim(a3), Trim(z2)), 2 & String(sd, "0"), Val(sd))
zc1 = mpc3(Trim(Y1), mcc2(mpc2(mbc2(Trim(a3), Trim(Y1), Val(sd)), Trim(c3)), Trim(z2), Val(sd)))
zc2 = mpc2(Trim(Y1), mcc2(mpc2(mbc2(Trim(a3), Trim(Y1), Val(sd)), Trim(c3)), Trim(z2), Val(sd)))
y3 = jie2cifc(Trim(za), Trim(zb1), Trim(zc1), Val(sd))
y4 = jie2cifc(Trim(za), Trim(zb2), Trim(zc2), Val(sd))
Text9 = y3
Text10 = y4
Label1.Caption = Val(Label1.Caption) + 1
Text14.Text = Text14.Text & "输入" & Label1.Caption & ":" & "a=" & k & ",b=" & ja & ",c=" & jb & ",d=" & jc _
& ",e=" & jd & ";输出结果" & Label1.Caption & ":    " & "x1,2=" & Text9.Text & ",x3,4=" & Text10.Text
End Sub

ysr 发表于 2022-12-18 22:20

输入1:a=1,b=11,c=46,d=96,e=120;输出结果1:    x1,2=-4.4147314911+ -1.2945834215i,x3,4=-1.0852685089+ -2.1193668017i

ysr 发表于 2022-12-18 22:34

输入1:a=1,b=2,c=3,d=4,e=5;输出结果1:    x1,2=-1.2878154796+ -0.8578967583i,x3,4=0.2878154796+ -1.4160930802i
页: 1 [2]
查看完整版本: 求五次方程 x(x+1)(x+2)(x+3)(x+4)=120 除了 x1=1 以外的另外四个复根 x2,x3,x4,x5