【问题标题】:Modulus? Getting group index from sequence index模数?从序列索引中获取组索引
【发布时间】:2020-06-19 12:54:40
【问题描述】:

我有一个包含 64 个项目的序列。我需要将它们按 4 人一组进行组织,而这些人又以 4 人为一组。

我正在寻找一种算法,该算法将采用序列索引并返回其组内的索引和父组 grup 索引。

我显然也想学习如何解释这些事情。我确信有一些数学术语更有意义。也许最好用例子来解释:

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

【问题讨论】:

  • 根据您要分组的具体内容,使用 Linq 并将 groupby 方法与嵌套 groupby 一起使用可能会更容易。
  • 不应该 6 映射到 1.2.2 和 7 映射到 1.2.3 吗?
  • @juharr 是的!我的错。

标签: c# algorithm sorting


【解决方案1】:

假设 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);
}

【讨论】:

    猜你喜欢
    • 2018-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-29
    • 2013-07-24
    • 1970-01-01
    • 1970-01-01
    • 2018-08-18
    相关资源
    最近更新 更多