Страница: 1 |
|
Вопрос: «СуперСчастливый билетик»
|
Добавлено: 18.07.04 19:57
|
|
Автор вопроса: ASiD | ICQ: 259132473
|
«СуперСчастливый билетик»
Определить, можно ли между цифрами 6-значного номера автобусного билетика расставить 4 знака «+» или «-» и единственный знак «=» таким образом, чтобы получилось верное равенство. Если да, то вывести все варианты расстановки на экран.
Пример:
Введите номер: 205632
Билет СуперСчастливый:
2-0+5-6=3-2
2-0+5=6+3-2
2=0-5+6+3-2
2+0+5-6=3-2
2+0+5=6+3-2
Ответить
|
Номер ответа: 1 Автор ответа: Ямаха
Вопросов: 2 Ответов: 3
|
Профиль | | #1
|
Добавлено: 21.07.04 10:49
|
[code]
Dim sinp, sout(12), sig(2), sval, s As String
Dim i, j, k, l, m, n, t As Integer
Dim x, num As Long
Dim flOK As Boolean
sig(0) = "+": sig(1) = "-"
sinp = InputBox("Введите № билета")
If Len(sinp) <> 6 Then Exit Sub
num = CLng(sinp)
'Раставляем цифИри
For t = 0 To 5
x = Int(num / 10)
sout(10 - 2 * t) = CStr(num - x * 10)
num = x
Next t
sval = vbCrLf
flOK = False
'Раставляем знаки
For i = 0 To 4
For j = 0 To 1
For k = 0 To 1
For l = 0 To 1
For m = 0 To 1
For n = 0 To 1
sout(1) = sig(j): sout(3) = sig(k): sout(5) = sig(l): sout(7) = sig(m): sout(9) = sig(n)
sout(1 + i * 2) = "="
If Eval(Join(sout)) Then
sval = sval & Join(sout) & vbCrLf
flOK = True
End If
Next n
Next m
Next l
Next k
Next j
Next i
If flOK Then
MsgBox ("Счастливый!!! Можно есть" & sval)
Else
MsgBox ("НЕ счастливый...")
End If
[/code]
Ответить
|
Страница: 1 |
Поиск по форуму