Страница: 1 |
Страница: 1 |
Вопрос: RND или как можно делит а потом
Добавлено: 01.11.10 10:22
Автор вопроса:
Эдик
Привет всем.Напр Задаеться число от 6 до 36.Надо делить это число на 6 частей.Каждую получивщиеся целую надо взят в интервале разных чисел от 0 до 6 чтобы сумма етих чисел равнялись заданному число.Например задается число 19.
19/6
1)1
2)5
3)3
4)0
5)4
6)6
1+5+3+0+4+6=19
Привожу пример.Но сдесь всё на оборот
помогите примером плиз
Private Sub Command1_Click()
Dim myVal, myStr, rt, ty
Randomize
myStr = ""
For i = 0 To 5
myVal = Int((6 * Rnd) + 1)
myStr = myStr & " " & myVal
rt = rt + myVal
Next i
Print myStr, rt
End Sub
Ответы
Всего ответов: 3
Номер ответа: 1
Автор ответа: Skywalker
ICQ: 300-70-6пятьЪ
Вопросов: 62
Ответов: 545
Web-сайт:
Профиль | | #1
Добавлено: 01.11.10 15:43
почему нельзя 6+6+6+1+0+0 ?
Номер ответа: 2
Автор ответа: Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #2
Добавлено: 01.11.10 18:35
Генерируешь 6 чисел с плавающей запятой от 0 до 1. Суммируешь их, это твои 100%. Пропорционально свое число делишь на полученые части, получаешь 6 целых чисел.
Номер ответа: 3
Автор ответа: AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #3
Добавлено: 01.11.10 19:40
я бы действовал по принципу, в результате дающему пост #1. думаю, сам принцип понятен