求计算公式(VB)有 A B C D E (五个数相加能被五整除)五个变量五个数之间A-1则B+1B-1则C+1C-1则

问题描述:

求计算公式(VB)
有 A B C D E (五个数相加能被五整除)五个变量
五个数之间
A-1则B+1
B-1则C+1
C-1则D+1
D-1则E+1
E-1则A+1
求不管在五个数为多少的时候(相加能被五整除不变),五个数如何减能变成相等
比如5 2 3 4 1 相加等于15
5-2 =3
2+2-1 =3
3+1-1 =3
4+1-2=3
1+2=3
也就是A-2 B-1 C-1 D-2,就完成了
我想要不管五个数等于多少,都可以计算出每个数减少多少的公式,能解决我给200分,有什么思路上不清楚的,可以留言
1个回答 分类:数学 2014-12-15

问题解答:

我来补答
'里面用了控件数组.
Private Sub Command1_Click()
Dim IntYss(5) As Long
Dim StrGs(1 To 5) As String
Dim I As Integer, J As Integer, K As Integer, L As Long
If (Val(Text1(0)) + Val(Text1(1)) + Val(Text1(2)) + Val(Text1(3)) + Val(Text1(4))) Mod 5 Then
MsgBox "五个数的和不能被5整除!"
Exit Sub
End If
For I = 1 To 5
IntYss(I) = Text1(I - 1)
StrGs(I) = IntYss(I)
IntYss(0) = IntYss(0) + IntYss(I)
Next I
IntYss(0) = IntYss(0) / 5
I = 0
K = 0
Do While K = 0
DoEvents
Label1 = "L=" & L
I = I + 1
Label2 = "I=" & I
If I > 5 Then I = 1
If IntYss(I) > IntYss(0) Then
StrGs(I) = StrGs(I) & "-" & (IntYss(I) - IntYss(0))
If I < 5 Then
StrGs(I + 1) = StrGs(I + 1) & "+" & (IntYss(I) - IntYss(0))
IntYss(I + 1) = IntYss(I + 1) + IntYss(I) - IntYss(0)
Else
StrGs(1) = StrGs(1) & "+" & (IntYss(5) - IntYss(0))
IntYss(1) = IntYss(1) - IntYss(0) + IntYss(5)
L = L + 1
End If
IntYss(I) = IntYss(I) - (IntYss(I) - IntYss(0))
End If
K = 1
For J = 1 To 5
If IntYss(J) IntYss(0) Then
K = 0
Exit For
End If
Next J
Loop
For I = 1 To 5
Print StrGs(I) & "=" & IntYss(I)
Next I
End Su
 
 
展开全文阅读
剩余:2000