Modulus? Получение индекса группы из индекса последовательности - PullRequest
2 голосов
/ 06 марта 2020

У меня есть последовательность из 64 предметов. Мне нужно организовать их в группы по 4 человека, которые сами по себе размещены в группы по четыре. 1003 *

Мне, видимо, также хотелось бы научиться объяснять подобные вещи. Я уверен, что есть некоторые математические термины, которые имеют больше смысла. Может быть, лучше объяснить с помощью примеров:

Index -> Returns

0 -> 1.1.0      
1 -> 1.1.1      
2 -> 1.1.2      
3 -> 1.1.3      
4 -> 1.2.0      
5 -> 1.2.1      
6 -> 1.2.2      
7 -> 1.2.3      
8 -> 1.3.0      
9 -> 1.3.1  
.......    
60 -> 4.4.0    
61 -> 4.4.1    
62 -> 4.4.2    
63 -> 4.4.3

1 Ответ

2 голосов
/ 06 марта 2020

Если предположить, что 6 соответствует 1.2.2 и 7 соответствует 1.2.3, а 9 соответствует 1.3.2, то вы можете использовать это:

(int First, int Second, int Third) GetSequence(int index)
{
    int first = 1;
    int second = 1;
    int third = 0;

    third += (index % 4);
    second += (index / 4) % 4;
    first+= (index / 16) % 4;

    return (first, second, third);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...