运动员分组 有N个人参加100米短跑比赛。跑道为8条。程序的任务是按照尽量使每组的人数相差最少的原则分组。
2013-04-28 12:45
1281 查看
/* 运动员分组 有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; // 分组数 g if(g>8) g = 8; // 超过8的直接分8组 int num = n/g; // 每组人数(g-1)个num int r = n%g; // 分组 余数 r for(int i=0;i<r;i++){ // 余数均分 System.out.println(num+1); } for(int i=0;i<g-r;i++){ // 输出剩下的 System.out.println(num); } } }运行结果:
输入一个正整数(1~100之间),表示参赛的人数。 25 7 6 6 6
相关文章推荐
- 有N个人参加100米短跑比赛。跑道为8条。程序的任务是按照尽量使每组的人数相差最少的原则分组。
- 有N个人参加100米短跑比赛。跑道为8条。程序的任务是按照尽量使每组的人数相差最少的原则分组。
- 运动员分组比赛;有N个人参加100米短跑比赛,有8条跑道,如何分组使分组数目最少且每组人数相差最少。
- 有N个人顺序排开参加比赛,每个人可以看到自己左右两边比自己得分少的人的分数,最少的人可以得1W的奖金,并且奖金以1w递增,赛委会让大家看到得分比自己少的人得的钱比自己少,编写程序求赛委会至少准备多少钱
- 智力题:25个人,每5个人一个跑道,最少经过几次比赛,得到前三名
- 27个运动员在参加完比赛后,口渴难耐,去小店买饮料,饮料店搞促销,凭三个空瓶可以再换一瓶,他们最少买多少瓶饮料才能保证一人一瓶
- 【hdu3033】分组背包(每组最少选一个)
- c语言:2种方法:5位运动员参加跳水比赛,每位选手都说对一半,请确定比赛名次
- 实现按a字段分组后,在组内再按照b字段排序,之后每组取Top n条数据
- 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果
- C++第六周任务一【任务1】下面的程序存在编译错误。有两种方法可以修改,请给出这两种修改方案,在报告中说明你倾向于用哪一种?为什么?处理此类问题的原则是什么?
- 5位运动员参加了10米台跳水比赛 预测比赛结果
- 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果
- 简单推理题:日本某地发生了一件谋杀案判断凶手,5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果
- 美团笔试2014-美团网举行女子羽毛球比赛,前端组、后短租、手机组各派了三名运动员参加。比赛前,4名程序员在一起预测比赛结果。
- 读入一个c程序,并按字母表顺序分组打印变量名,每组前N个字符相同(TCPL 练习6-2)
- 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果
- 马场上只有5条跑道,欲从25匹马中选出3匹最快的,求最少比赛次数
- 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A
- 有36匹马,六个跑道。没有记时器等设备,用最少的比赛次数算出跑的最快的前3匹马