当前位置: 代码迷 >> 综合 >> 蓝桥杯--运动员分组
  详细解决方案

蓝桥杯--运动员分组

热度:27   发布时间:2023-10-20 11:22:00.0
有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;int a,b; scanf("%d",&n);a=n/8; if(n%8==0){						//能整除的情况 for(int i=0;i<a;i++)printf("8\n");}else{ 							//不能整除的情况 a=a+1;b=n/a;if(n%a!=0){printf("%d\n",b+1); }elseprintf("%d\n",b); for(int i=1;i<a;i++){printf("%d\n",b); }} return 0;
} 


  相关解决方案