77范文网 - 专业文章范例文档资料分享平台

算法与程序实践1(简单计算)(3)

来源:网络收集 时间:2019-03-22 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

格隔开,分别为1*1 至6*6 这六种产品的数量。输入文件将以6 个0 组成的一行结尾。 输出要求:

除了输入的最后一行6 个0 以外,输入文件里每一行对应着输出文件的一行,每一行输 出一个整数代表对应的订单所需的最小包裹数。 输入样例:

0 0 4 0 0 1 7 5 1 0 0 0 0 0 0 0 0 0 输出样例:

2 1

解题思路:

这个问题描述得比较清楚,我们在这里只解释一下输入输出样例:共有两组有效输入,第一组表示有4个3*3的产品和一个6*6的产品,此时4个3*3的产品占用一个箱子,另外一个6*6的产品占用1个箱子,所以箱子数是2;第二组表示有7个1*1的产品,5个2*2的产品和1个3*3的产品,我们可以把他们统统放在一个箱子中,所以输出是1。

分析六个型号的产品占用箱子的具体情况如下:6*6的产品每个会占用一个完整的箱子,并且没有空余空间;5*5的产品每个占用一个新的箱子,并且留下11个可以盛放1*1的产品的空余空间;4*4的产品每个占用一个新的箱子,并且留下5个可以盛放2*2的产品的空余空间;3*3的产品情况比较复杂,首先3*3 的产品不能放在原来盛有5*5或者4*4的箱子中,那么必须为3*3的产品另开新的箱子,新开的箱子数目等于3*3的产品的数目除以4向上取整;同时我们需要讨论为3*3的产品新开箱子时,剩余的空间可以盛放多少2*2和1*1的产品(这里如果有空间可以盛放2*2的产品,我们就将它计入2*2的空余空间,等到2*2的产品全部装完,如果还有2*2的空间剩余,再将它们转换成1*1的剩余空间)。我们可以分情况讨论为3*3 的产品打开的新箱子中剩余的空位,共为四种情况:第一种,3*3的产品的数目正好是4 的倍数,所以没有空余空间;第二种,3*3的产品数目是4的倍数加1,这时还剩5个2*2的空位和7个1*1的空位;第三种,3*3的产品数目是4的倍数加2,这时还剩3个2*2的空位和6个1*1的空位;第四种,3*3的产品数目是4的倍数加3,这时还剩1个2*2的空位和5个1*1的空位;处理完3*3的产品,就可以比较一下剩余的2*2的空位和2*2产品的数目,如果产品数目多,就将2*2的空位全部填满,再为2* 的产品打开新箱子,同时计算新箱子中1*1 的空位,如果剩余空位多,就将2*2的产品全部填入2*2的空位,再将剩余的2*2的空位转换成1*1的空位;最后处理1*1的产品,比较一下1*1的空位与1*1的产品数目,如果空位多,将1*1的产品全部填入空位,否则,先将1*1的空位填满,然后再为1*1的产品打开新的箱子。

CS8:求平均年龄

(来源:poj.grids.cn 2714) 问题描述:

班上有学生若干名,给出每名学生的年龄(整数),求班上所有学生的平均年龄,保留到小数点后两位。

10

输入:

第一行有一个整数n(1<= n <= 100),表示学生的人数。其后n行每行有1个整数,取值为15到25。 输出:

输出一行,该行包含一个浮点数,为要求的平均年龄,保留到小数点后两位。 样例输入:

2 18 17

样例输出:

17.50

提示:

要输出浮点数、双精度数小数点后2位数字,可以用下面这种形式: printf(\

CS9:数字求和

(来源:poj.grids.cn 2796) 问题描述:

给定一个正整数a,以及另外的5个正整数,问题是:这5个整数中,小于a的整数的和是多少? 输入:

输入一行,只包括6个小于100的正整数,其中第一个正整数就是a。 输出:

输出一行,给出一个正整数,是5个数中小于a的数的和。 样例输入:

10 1 2 3 4 11 样例输出:

10

CS10:两倍

(来源:poj.grids.cn 2807) 问题描述:

给定2到15个不同的正整数,你的任务是计算这些数里面有多少个数对满足:数对中一个数是另一个数的两倍。

比如给定1 4 3 2 9 7 18 22,得到的答案是3,因为2是1的两倍,4是2个两倍,18是9的两倍。

输入:

11

输入包括多组测试数据。每组数据包括一行,给出2到15个两两不同且小于100的正整数。每一行最后一个数是0,表示这一行的结束后,这个数不属于那2到15个给定的正整数。输入的最后一行只包括一个整数-1,这行表示输入数据的结束,不用进行处理。 输出:

对每组输入数据,输出一行,给出有多少个数对满足其中一个数是另一个数的两倍。 样例输入:

1 4 3 2 9 7 18 22 0 2 4 8 10 0

7 5 11 13 1 3 0 -1

样例输出: 3 2 0

CS11:肿瘤面积

(来源:poj.grids.cn 2713) 问题描述:

在一个正方形的灰度图片上,肿瘤是一块矩形的区域,肿瘤的边缘所在的像素点在图片中用0表示。其它肿瘤内和肿瘤外的点都用255表示。现在要求你编写一个程序,计算肿瘤内部的像素点的个数(不包括肿瘤边缘上的点)。已知肿瘤的边缘平行于图像的边缘。 输入:

只有一个测试样例。第一行有一个整数n,表示正方形图像的边长。其后n行每行有n个整数,取值为0或255。整数之间用一个空格隔开。已知n不大于1000。 输出:

输出一行,该行包含一个整数,为要求的肿瘤内的像素点的个数。 样例输入: 5

255 255 255 255 255 255 0 0 0 255 255 0 255 0 255 255 0 0 0 255

255 255 255 255 255 样例输出:

1

CS12:肿瘤检测

(来源:poj.grids.cn 2677) 问题描述:

12

一张CT扫描的灰度图像可以用一个N*N(0

输入第一行包含一个正整数N(0

输出只有一行,该行包含两个正整数,分别为给定图像中肿瘤的面积和周长,用一个空格分开。 样例输入: 6

99 99 99 99 99 99 99 99 99 50 99 99 99 99 49 49 50 51 99 50 20 25 52 99 40 50 99 99 99 99 99 99 99 99 99 99 样例输出:

9 8

CS13:垂直直方图

(来源:poj.grids.cn 2800) 问题描述:

输入4行全部由大写字母组成的文本,输出一个垂直直方图,给出每个字符出现的次数。注意:只用输出字符的出现次数,不用输出空白字符,数字或者标点符号的输出次数。 输入:

输入包括4行由大写字母组成的文本,每行上字符的数目不超过80个。 输出:

输出包括若干行。其中最后一行给出26个大写英文字母,这些字母之间用空格隔开。前面的几行包括空格和星号,每个字母出现几次,就在这个字母的上方输出一个星号。注意:输出的第一行不能是空行。 样例输入:

THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG. THIS IS AN EXAMPLE TO TEST FOR YOUR HISTOGRAM PROGRAM. HELLO!

样例输出:

13

* * * *

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

CS14:谁拿了最多的奖学金

(来源:poj.grids.cn 2715) 问题描述:

某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种,获取的条件各自不同:

1) 院士奖学金,每人8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得;

2) 五四奖学金,每人4000元,期末平均成绩高于85分(>85),并且班级评议成绩高于80分(>80)的学生均可获得;

3) 成绩优秀奖,每人2000元,期末平均成绩高于90分(>90)的学生均可获得;

4) 西部奖学金,每人1000元,期末平均成绩高于85分(>85)的西部省份学生均可获得; 5) 班级贡献奖,每人850元,班级评议成绩高于80分(>80)的学生干部均可获得;

只要符合条件就可以得奖,每项奖学金的获奖人数没有限制,每名学生也可以同时获得多项奖学金。例如姚林的期末平均成绩是87分,班级评议成绩82分,同时他还是一位学生干部,那么他可以同时获得五四奖学金和班级贡献奖,奖金总数是4850元。 现在给出若干学生的相关数据,请计算哪些同学获得的奖金总数最高(假设总有同学能满足获得奖学金的条件)。

输入:

输入的第一行是一个整数N(1 <= N <= 100),表示学生的总数。接下来的N行每行是一位学生的数据,从左向右依次是姓名,期末平均成绩,班级评议成绩,是否是学生干部,是否是西部省份学生,以及发表的论文数。姓名是由大小写英文字母组成的长度不超过20的字符串(不含空格);期末平均成绩和班级评议成绩都是0到100之间的整数(包括0和100);是否是学生干部和是否是西部省份学生分别用一个字符表示,Y表示是,N表示不是;发表的论文数是0到10的整数(包括0和10)。每两个相邻数据项之间用一个空格分隔。 输出:

输出包括三行,第一行是获得最多奖金的学生的姓名,第二行是这名学生获得的奖金总数。如果有两位或两位以上的学生获得的奖金最多,输出他们之中在输入文件中出现最早的学生的姓名。第三行是这N个学生获得的奖学金的总数。 样例输入:

14

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库算法与程序实践1(简单计算)(3)在线全文阅读。

算法与程序实践1(简单计算)(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/536165.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: