YTU 2864: 分跑道。

2864: 分跑道。

时间限制: 1 Sec  内存限制: 128 MB
提交: 23  解决: 19

题目描述

N个人参加100米短跑比赛。跑道为8条。程序的任务是按照尽量使每组的人数相差最少的原则分组。

例如:

N=8时,分成1组即可。

N=9时,分成2组:一组5人,一组4人。

N=25时,分4组:7666

请编程计算分组数字。

输入

从键盘输入一个正整数(1~100之间,不必考虑输入错误的情况),表示参赛的人数。

输出

程序输出每个组的人数。从大到小顺序输出,每个数字一行。

样例输入

25

样例输出

7
6
6
6

你  离  开  了  ,  我  的  世  界  里  只  剩  下  雨  。  。  。

#include <stdio.h>
int main()
{
    int n,i,z;
    scanf("%d",&n);
    if(n%8==0)i=n/8;
    else i=n/8+1;
    if(n-(n/i)*(i-1)>n/i)
    {
        printf("%d
",n-(n/i)*(i-1));
        for(z=1; z<i; z++)printf("%d
",n/i);
    }
    else
    {
        for(z=1; z<i; z++)printf("%d
",n/i);
        printf("%d
",n-(n/i)*(i-1));
  
    }
    return 0;
}

原文地址:https://www.cnblogs.com/im0qianqian/p/5989622.html