以下是 Java 代码实现,根据给定的数字 n,以 m 为大小分组:

import java.util.ArrayList;
import java.util.List;

public class Grouping {
    public static List<List<Integer>> groupNumbers(int n, int m) {
        List<List<Integer>> groups = new ArrayList<>();
        
        if (n <= 0 || m <= 0) {
            return groups;
        }
        
        int groupCount = n / m;
        int remainder = n % m;
        
        for (int i = 0; i < groupCount; i++) {
            List<Integer> group = new ArrayList<>();
            for (int j = 0; j < m; j++) {
                group.add(i * m + j + 1);
            }
            groups.add(group);
        }
        
        if (remainder > 0) {
            List<Integer> group = new ArrayList<>();
            for (int i = 0; i < remainder; i++) {
                group.add(groupCount * m + i + 1);
            }
            groups.add(group);
        }
        
        return groups;
    }
    
    public static void main(String[] args) {
        int n = 10;
        int m = 3;
        
        List<List<Integer>> result = groupNumbers(n, m);
        
        for (List<Integer> group : result) {
            System.out.println(group);
        }
    }
}

在上面的代码中,我们首先对输入参数进行了非法检查,如果 n 或 m 小于等于 0,则直接返回空的分组结果。

然后,我们计算出可以完整分组的个数(groupCount)和剩余数字个数(remainder)。

接下来,我们用两个嵌套的循环来生成完整分组的数字。外部循环控制分组的个数,内部循环生成每个分组中的数字,使用公式 i * m + j + 1 来计算每个数字的值。

最后,如果剩余数字个数大于 0,则生成一个包含剩余数字的分组。

最后,我们在 main 函数中进行测试,将 n 和 m 分别设置为 10 和 3,并输出每个分组的数字列表。输出结果如下:

[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
[10]
Java 代码实现数字分组:按指定大小将数字分组

原文地址: https://www.cveoy.top/t/topic/pgbY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录