Математический вопрос: как узнать номер раздела в списке - PullRequest
1 голос
/ 31 марта 2009

Представьте, что у меня есть этот список, который разделен на 3

1
2
3
4
5
6
7
8
9

Теперь у меня 9 предметов, сгруппированных в 3 раздела.

Мой вопрос: как узнать, в каком разделе 6 (т.е. 6 относятся к разделу 2, 2 к разделу 1, 9 к разделу 3)

Ответы [ 4 ]

4 голосов
/ 31 марта 2009

Хммм ...... section = ((item-1) / 3) + 1

2 голосов
/ 31 марта 2009

Для списка предметов, разделенных на секции размером n, секция s предмета i задается как:

s = (i + (n-1)) / n,

, где / - целочисленное деление.

Итак, для вашего примера, пункт 6 дает (6 + (3-1))/3 = (6+2)/3 = 8/3 = 2.

Это относится и ко многим другим вещам - я столкнулся с ним как «Сколько узлов мне нужно запрашивать в кластере с n ЦП на узел?»

2 голосов
/ 31 марта 2009

section = ceiling (n / 3)

Например,

ceiling (4 / 3) = ceiling ( 1.33 ) = 2

0 голосов
/ 31 марта 2009

Я не совсем уверен, что вы спрашиваете, но попробуйте:

floor((itemNumber - 1)/numberOfGroups) + 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...