|
|
|
mur88 |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 81 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
Нужно разделить массив на равные части (можно с погрешностью но не с очень большой)
например, массив из 105 эл. делим 10 частей получится 5-ть массивов по 10 эл. и 5-ть по 11 эл. |
|||
|
||||
Bitter |
|
|||
Опытный лентяй Профиль Группа: Завсегдатай Сообщений: 1209 Регистрация: 15.8.2004 Где: Харьков, Ukraine Репутация: 4 Всего: 27 |
А как это у вас так получается? Магия? 5*10 = 50, 5*11 = 55! А дошло! А я подумал вы разделили 105 элементов на 10 и получили 5 массивов по 10 элементов. Да просто: делите 105 на 10 и округляете, получится 10. Остаток N будет меньше числа на которое делите, значит увеличиваете длину N последних массивов на 1 Остаток я имею в виду не дробное число получаемое при делении, то есть 111/5 = 22,2. Остаток в данном случае = 1. Это сообщение отредактировал(а) Bitter - 12.7.2010, 12:42 |
|||
|
||||
triclosan |
|
|||
Опытный Профиль Группа: Участник Сообщений: 515 Регистрация: 18.8.2006 Репутация: нет Всего: 12 |
почему не 6*10 = 60, 5*9 = 45 ?
|
|||
|
||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 7 Всего: 386 |
mur88, находим остаток от деления 105 на X=10, получаем число M=5. (105-5)/10 - получаем число N=10.
цикл от 1 до X. { откусываем от массива N элементов. если M>0, то добавляем к откусаному еще один элемент и делаем M-- ; } ... profit -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
Silent |
|
|||
Опытный Профиль Группа: Участник Сообщений: 252 Регистрация: 3.10.2006 Репутация: 1 Всего: 9 |
Пусть n - количество элементов массива, m - на сколько частей надо поделить. Тогда всего в m-n%m массивах будет по n/m элементов, а в n%m массивах - по n/m+1 элементов. Ровно и без мороки.
пример: n=105, m=10: в 105/10-105%10=5 по 105/10=10 элементов, в 105%10=5 по 105/10+1=11 элементов. p.s. "жадный алгоритм" решения задачи. |
|||
|
||||
CramErern |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 2.9.2022 Репутация: нет Всего: нет |
Модератор: Сообщение скрыто. |
|||
|
||||
Exceeta |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 4.9.2022 Репутация: нет Всего: нет |
Модератор: Сообщение скрыто. |
|||
|
||||
stelfisse |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 6.9.2022 Репутация: нет Всего: нет |
Модератор: Сообщение скрыто. |
|||
|
||||
tothilm |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 9.9.2022 Репутация: нет Всего: нет |
Модератор: Сообщение скрыто. |
|||
|
||||
Gaunddara |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 12.9.2022 Репутация: нет Всего: нет |
Модератор: Сообщение скрыто. |
|||
|
||||
CevaChaix |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 16.9.2022 Репутация: нет Всего: нет |
Модератор: Сообщение скрыто. |
|||
|
||||
Jarrats |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 6.10.2022 Репутация: нет Всего: нет |
Модератор: Сообщение скрыто. |
|||
|
||||
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |