Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Олимпиады

Страница: 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  

Номер ответа: 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 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам