zoukankan      html  css  js  c++  java
  • 算法笔记_230:运动员分组(Java)

    目录

    1 问题描述

    2 解决方案

     


    1 问题描述

    有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


    2 解决方案

     1 import java.util.Scanner;
     2 
     3 public class Main {
     4     
     5     
     6     public static void main(String[] args) {
     7         Scanner in = new Scanner(System.in);
     8         int n = in.nextInt();
     9         if(n % 8 == 0) {
    10             for(int i = 0;i < n / 8;i++)
    11                 System.out.println("8");
    12         } else {
    13             int count = n / 8 + 1;
    14             int r = n / count;
    15             int low = n - count * r;
    16             for(int i = 0;i < count;i++, low--) {
    17                 if(low > 0)
    18                     System.out.println((r + 1));
    19                 else
    20                     System.out.println(r);
    21             }
    22         }
    23     }
    24 }

    运行结果:

    41
    7
    7
    7
    7
    7
    6
  • 相关阅读:
    实习期收获(一)
    实习期上班两天感触
    做bbs论坛项目的收获(1)
    ios多线程
    C 预处理小结
    Xcode8 问题
    Unity3d收藏链接/ 小马哥视频
    H5(1)
    ios-loadView
    iOS开发UI篇—程序启动原理和UIApplication
  • 原文地址:https://www.cnblogs.com/liuzhen1995/p/6897592.html
Copyright © 2011-2022 走看看