15OJ——分跑道
2015-06-05 19:15
134 查看
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:李晓凯
* 完成日期:2015年 6 月 4 日
* 版 本 号:v1.0
*
* 问题描述:
* 输入描述:
* 程序输出:
*/
有N个人参加100米短跑比赛。跑道为8条。程序的任务是按照尽量使每组的人数相差最少的原则分组。
例如:
N=8时,分成1组即可。
N=9时,分成2组:一组5人,一组4人。
N=25时,分4组:7、6、6、6。
请编程计算分组数字。
从键盘输入一个正整数(1~100之间,不必考虑输入错误的情况),表示参赛的人数。
程序输出每个组的人数。从大到小顺序输出,每个数字一行。
解析:这个题目乍一看没找到思路,后来想了想,其实还是挺简单的,先确定要分几条跑道,确定了以后,再将个跑道上分平均多的人,将余下的从第一个跑道依次加1,然后输出就ok了
代码:
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:李晓凯
* 完成日期:2015年 6 月 4 日
* 版 本 号:v1.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
解析:这个题目乍一看没找到思路,后来想了想,其实还是挺简单的,先确定要分几条跑道,确定了以后,再将个跑道上分平均多的人,将余下的从第一个跑道依次加1,然后输出就ok了
代码:
#include <iostream> using namespace std; int main() { int n,m,i; cin>>n; if(n%8==0) m=n/8; else m=n/8+1; int a=n%m; int b=n/m; for(i=0;i<a;++i) cout<<b+1<<endl; for(i=0;i<m-a;++i) cout<<b<<endl; return 0; }
相关文章推荐
- hdu,poj 分类
- 数组中的方法详解
- 阅读笔记之:Multimodal learning in Loosely-organized web images-CVPR2014
- Activity Touch事件分发 dispatchTouchEvent onTouchEvent
- 欢迎使用CSDN-markdown编辑器
- ab 发送post请求 测试API性能
- hdoj1093 a+b(3)
- TextView在设置Text值时一定要注意着点
- Jdk1.8在CentOS7中的安装与配置
- android中 回调方法,怎么转变为阻塞执行的方法
- 求树的深度
- jsp页面传中文参数乱码问题
- 冲刺2-1
- 遗传算法来控制进入一
- Array.prototype.slice.call(arguments,0)
- OpenCV 3 最新模块一次看个够
- ServletFileUpload 类
- iOS开发系列--并行开发其实很容易 --多线程开发
- lrzsz在CentOS7的安装
- 栈空间共享