运动员分组

来源:互联网 发布:路由器封游戏端口 编辑:程序博客网 时间:2024/04/28 19:57
/*运动员分组有N个人参加100米短跑比赛。跑道为8条。程序的任务是按照尽量使每组的人数相差最少的原则分组。例如:N=8时,分成1组即可。N=9时,分成2组:一组5人,一组4人。N=25时,分4组:7、6、6、6。请编程计算分组数字。要求从标准输入获得一个正整数(1~100之间,不必考虑输入错误的情况),表示参赛的人数。程序输出每个组的人数。从大到小顺序输出,每个数字一行。比如,用户输入:25程序输出:7666 */import java.util.Scanner;public class 运动员分组 {public static void main(String[] args){Scanner scan = new Scanner(System.in);System.out.println("输入一个正整数(1~100之间),表示参赛的人数。");int n = scan.nextInt();int g = (n+7)/8;// 分组数 gif(g>8) g = 8;// 超过8的直接分8组int num = n/g;// 每组人数(g-1)个numint r = n%g;// 分组 余数 rfor(int i=0;i<r;i++){// 余数均分System.out.println(num+1);}for(int i=0;i<g-r;i++){// 输出剩下的System.out.println(num);}}}

0 0
原创粉丝点击