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
  • 相关阅读:
    django学习----http协议
    线程进程和协程
    内置函数
    我所了解的递归
    函数的闭包和装饰器
    字符串的内置方法
    格式化输入输出
    逻辑运算符和操作运算符
    python流程控制
    计算机网络原理
  • 原文地址:https://www.cnblogs.com/liuzhen1995/p/6897592.html
Copyright © 2011-2022 走看看