2864: 分跑道。
时间限制: 1 Sec 内存限制: 128 MB提交: 23 解决: 19
题目描述
有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
你 离 开 了 , 我 的 世 界 里 只 剩 下 雨 。 。 。
#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;
}