Страница: 1 |
Страница: 1 |
Вопрос: Наверняка вы эту задачу уже решали
Добавлено: 16.01.06 23:35
Автор вопроса:
Xrum
Дан ряд чисел. Нужно расставить между ними "+" и "-" так, чтобы сумма равнялась задаваемому числу
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа: Neco
ICQ: 247906854
Вопросов: 133
Ответов: 882
Web-сайт:
Профиль | | #1
Добавлено: 17.01.06 04:04
Перебор всех вариантов.
Номер ответа: 2
Автор ответа: mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #2
Добавлено: 17.01.06 11:18
Сортировать числа по убыванию и потом подбирать более интеллектуально. Не делал, но перебор всех вариантов после сортировки сработает быстрее..
Номер ответа: 3
Автор ответа: Wolfrt
ICQ: 225421504
Вопросов: 8
Ответов: 60
Профиль | | #3
Добавлено: 17.01.06 21:26
сортировка не поможет!
Заинтересовала меня задача думаю за пару часов решу! Если нет то я последний ламер!
Номер ответа: 4
Автор ответа: Wolfrt
ICQ: 225421504
Вопросов: 8
Ответов: 60
Профиль | | #4
Добавлено: 17.01.06 23:12
Public i, j, v, nn, S, s1 As Double
Public n As Double = 3
Public b As Double = -1
Public z(3) As Int16
Public a(4) As Double
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 im tex As String = ""
a(1) = 1
a(2) = 2
a(3) = 3
a(4) = 4
S = a(1)
s1 = 0
For nn = 1 To n ^ 2
b = b + 1
If b >= 1 Then
For i = n To b Step -1
If z(i) = 0 Then
z(i) = 1
Exit For
Else
For j = i - 1 To 1 Step -1
If z(j) = 0 Then
z(j) = 1
For v = j + 1 To n
z(v) = 0
Next v
Exit For
End If
Next j
End If
Exit For
Next i
If b = n Then b = 0
End If
For i = 1 To n
If z(i) = 0 Then
S = S - a(i + 1)
Else
S = S + a(i + 1)
End If
Next i
If S = s1 Then
For i = 1 To n
If z(i) = 0 Then
tex = tex + a(i).ToString + "-"
Else
tex = tex + a(i).ToString + "+"
End If
Next i
Exit For
Else
S = a(1)
End If
Next nn
TextBox1.Text = tex + a(i).ToString + "=" + s1.ToString
End Sub
извольте получить демо версию!
Номер ответа: 5
Автор ответа: Xrum
Вопросов: 14
Ответов: 14
Профиль | | #5
Добавлено: 18.01.06 00:16
Извольте получить благодарность!