本文主要是介绍运动员分组,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
/* 运动员分组
有N个人参加100米短跑比赛。跑道为8条。程序的任务是按照尽量使每组的人数相差最少的原则分组。
例如:
N=8时,分成1组即可。
N=9时,分成2组:一组5人,一组4人。
N=25时,分4组:7、6、6、6。请编程计算分组数字。
要求从标准输入获得一个正整数(1~100之间,不必考虑输入错误的情况),表示参赛的人数。
程序输出每个组的人数。从大到小顺序输出,每个数字一行。比如,
用户输入:25
程序输出:
7
6
6
6*/
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);}}
}
这篇关于运动员分组的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!