Расставить арифметические знаки между цифрами, чтобы выполнялось равенство - VB
Формулировка задачи:
Если у нас есть пример, в котором не выполняется равенство, допустим:
1 + 2 + 3 + 4 + 5 + 6 = 0
И пользователь должен изменить знаки так, чтоб оно выполнялось
Как это реализовать?)
Решение задачи: «Расставить арифметические знаки между цифрами, чтобы выполнялось равенство»
textual
Листинг программы
- Function Calc(A() As Integer, p As Integer) As Integer
- n% = 1
- r% = 0
- For i% = 1 To 5
- If i% = 1 Then
- If p And n% Then
- r% = A(i%) + A(i% + 1)
- Else
- r% = A(i%) - A(i% + 1)
- End If
- Else
- If p And n% Then
- r% = r% + A(i% + 1)
- Else
- r% = r% - A(i% + 1)
- End If
- End If
- n% = n% * 2
- Next i%
- Calc = r%
- End Function
- Sub PrintStr(A() As Integer, p As Integer)
- n% = 1
- For i% = 1 To 5
- Debug.Print A(i%);
- If p And n% Then
- Debug.Print "+";
- Else
- Debug.Print "-";
- End If
- n% = n% * 2
- Next i%
- Debug.Print A(6); "=";
- End Sub
- Sub Test()
- Dim A(1 To 6) As Integer
- A(1) = 1
- A(2) = 2
- A(3) = 3
- A(4) = 4
- A(5) = 5
- A(6) = 6
- For p% = 0 To 31
- PrintStr A(), p%
- Debug.Print Calc(A, p%)
- Next p%
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д