Страница: 1 |
Вопрос: «СуперСчастливый билетик» | Добавлено: 18.07.04 19:57 |
Автор вопроса: ![]() |
«СуперСчастливый билетик»
Определить, можно ли между цифрами 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 |
Номер ответа: 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 |
|