
程序设计训练
湖南大学信科院程序设计训练
前端自习室
前端学习中 & AIGC 爱好者
展开
-
【程序设计训练】2-18 小丑排序
问题描述你在信天翁马戏团(是的,它是由一群小丑组成)从事管理工作,你刚刚写完一个程序的输出是将他们的姓名按长度为非递减的方式排列,名称列表(使每名至少只要它之前的)。然而,你的老板不喜欢这种输出方式,而是希望输出出现更对称,较短的字符串在顶部和底部,而较长的字符串在中间。他的规则是,每一对名称都是在该列表的相对的两端,并且在该组中的第一个名字总是在列表的顶部。比如在下面的第一个例子中,Bo和Pat是第一对,Jean和Kevin是第二对,等等。输入形式输入由1到多个字符串集合组成,最后一行为0表示输入结原创 2021-08-19 17:18:47 · 271 阅读 · 0 评论 -
【程序设计实训】1-1 众数
问题描述一组数据中出现最多的数,称为众数。比如1 2 3 3众数为3。一组数据中也可能有多个众数,以最先出现的作为众数。比如2 2 3 3众数为2。问题是一组按升序排好的数据,指出它的众数。输入形式有多组测试数据(不超过100组测试数据)。每组测试数据占两行,第一行是正整数N:表示这组测试数据中数据项数。第二行是N个用空格隔开的正整数,表示这组测试数据的数据元素。每个数据元素都不大于10000。N=0,表示输入结束,并且不需要处理。40%的测试数据N 1 ≤N≤ 10;30%的测试原创 2021-08-07 18:08:13 · 468 阅读 · 0 评论 -
【程序设计训练】1-2 错误的里程表
问题描述三月八日,小明买了台新车。但很快小明发现汽车的里程表有问题:里程表上每一位都不显示数字3和数字8,也就是说直接从数字2跳到数字4,直接从数字7跳到数字9。小明纳闷:这车到底行驶里程是多少。现在,小明向你求助:根据里程表显示的数字,给出真实的行驶里程。输入形式输入有多组测试数据。输入第一行正整数T,表示有多少组测试数据。后面有T行,每行一个非负整数,表示里程表显示数字,里面不含有数字3和8。该数字不超过10位。40%的测试数据组数T 10≤T≤ 102;30%的测试数据组数T 102≤原创 2021-08-07 18:08:59 · 223 阅读 · 0 评论 -
【程序设计训练】1-3 拳王阿里
问题描述阿里是上个世纪美国最著名的拳击手,阿里在20年的时间里多次获得重量级拳王称号。不过不幸的是,他在之后患上了帕金森氏病。他参加了许多比赛,多到连自己都数不清了。有这么一段时间,他总是参加各种不同的比赛,以至于他自己也不知道从第一场比赛开始到最后一场比赛结束到底用了多长时间。他只记得比赛的第一天是星期几(S),最后一场比赛的最后一天是星期几(E)。他还记得比赛的总天数(包括第一和最后一天)不少于L天,也不多于R天。给定S和E,能否唯一确定参加比赛总天数(包含该段时间内比赛间的间隔天数)?输入形式原创 2021-08-07 18:09:29 · 231 阅读 · 0 评论 -
【程序设计训练】1-4 欧洲冠军联赛
问题描述欧洲冠军联赛常被誉为全世界最具影响力的俱乐部级赛事。在比赛的小组赛阶段,欧洲的各个足球俱乐部被分为八个小组,每个小组中四支球队。每个小组中的球队按照如下规则排序:球队会根据比赛结果获得积分。一场比赛的双方被称为主队和客队。如果其中一方进球数多于另一方,那么进球较多的一方获得3 分,另一方获得0 分。如果双方打成平手,则各得1分。球队的净胜球数是其进球数减去失球数(不考虑该球队在比赛中作为主队还是客队)。积分较高的球队排名更加靠前。如果两支球队积分相同,那么净胜球数较多的球队原创 2021-08-07 18:10:01 · 330 阅读 · 0 评论 -
【程序设计训练】1-5 合法的括号串
问题描述一个合法的括号串,是指只包含括号的串,如果满足如下条件:(1)<> () [] {} 这四对括号是合法的;(2)如果r是合法括号串,则 ® [r] {r}也是;(3)如果r,s是合法括号串,则rs也是;所以<<>> , [<>{}(())],[({<>})]是合法的括号串,而)(,[( ])就不是。输入形式输入第一行正整数t (10 ≤ n ≤ 100),表示有多少组测试数据。后面有t行,每行一个只包含8种括号符号的括号串。原创 2021-08-19 17:04:52 · 349 阅读 · 0 评论 -
【程序设计训练】1-6 世界杯来了
问题描述2018年俄罗斯世界杯结束了,法国获得冠军,全世界球迷度过了一个非常愉快的夏天。作为中国球迷,不能总是看别人踢球,这不福利来了,根据FIFA(国际足联)及全体成员协会的一致决定,2118年世界杯将在中国举办,作为东道主,中国队将无需参加预选赛而直接参加决赛阶段的比赛。比赛规则如下:总共n(n为偶数)个球队参加比赛按照分组赛积分排名,前n/2的球队进入淘汰赛积分排名的规则如下:球队获胜得3分,平局得1分,失利得0分,按照积分递减、净胜球递减以及进球数递减方式排名编写一个程序,根原创 2021-08-19 17:06:53 · 659 阅读 · 0 评论 -
【程序设计训练】1-7 F1方程式冠军
问题描述一级方程式F1锦标赛由一系列称为大奖赛的分站赛组成。每一场比赛的车手都根据他们的最后位置获得积分。只有前10名车手按以下顺序获得分数:25、18、15、12、10、8、6、4、2、1。在锦标赛结束时,得分最多的车手是冠军。如果有平分,则冠军是赢的最多的人(即排位第一)。如果还是平分,则选择得到排位第二最多的人,依此类推,直到没有更多的排位进行比较。后来又提出了另一个得分制度,其中冠军是赢的最多的。如果有平手,冠军是得分最多的。如果仍然存在平手,则按原来的得分制度进行,即比较第二、第三、第四、…排原创 2021-08-19 17:07:28 · 402 阅读 · 0 评论 -
【程序设计训练】1-11 平均方差
问题描述一个数列的平均方差是指数列中的每个元素与数列的平均值的差的平方和的平均值,比如下面数列:1 2 3 4 5 6 7其平均值为4,每个元素与平均值的差的平方为9 4 1 0 1 4 9其平方和为28,所以该数列的平均方差为4。对给定的数列,求出其平均方差。输入形式有多组测试数据。每组测试数据第一行是一个正整数N,表示数列中元素个数,接下来一行N个用空格分隔开的正整数,表示数列的N个元素,每个元素的值都是不大于500的正整数。N=0表示输入结束,并且不需要处理。40%的数列元素个数原创 2021-08-07 18:10:35 · 555 阅读 · 0 评论 -
【程序设计训练】1-12 IP地址
问题描述一个IP地址由32位二进制的数组成,比如:111111111111111111111111000000002为了便于记忆,我们将8个二进制位用一个十进制数表示,一个IP地址由四个十进制数表示,上述的IP地址表示为:255.255.255.0现在给你一个上述形式的IP地址,请回答IP地址的32个二进制位中,有多少位是1。如IP地址为255.255.255.0,其中24位是1。输入形式有多组测试数据。测试数据第一行是一个正整数T,表示测试数据组数。每组测试数据是一个IP地址,形式为:原创 2021-08-07 18:11:02 · 238 阅读 · 0 评论 -
【程序设计训练】1-13 开关与灯
问题描述给定n个开关和m个灯,第i个开关只能打开部分灯。矩阵a包含n行m列,当aij=1时表示开关i可以打开灯j,否则aij=0。开始时所有的m个灯都是关着的。开关只能从状态"关"到"开"。这意味着,对于每个可以打开某个灯的开关,无论你按多少次,这个灯都是开的。确保当你按下所有开关时,所有的灯都能打开,考虑是否可以忽略其中某个开关也能打开所有的灯。你的任务是确定是否存在这样的开关可以忽略,而使用其余的n-1个开关来打开所有m个灯。输入形式输入第1行包含两个整数n和m(1<=n, m<原创 2021-08-07 18:11:37 · 690 阅读 · 0 评论 -
【程序设计训练】1-14 可删除的点
问题描述平面上有n个不同的点,没有在Y轴的点,检查是否存在这样一个点,将其删除后其余所有的点均位于Y轴的同一边。输入形式输入第一行包含一个正整数n(2<=n<=105)。接下来的n行,包含所有点的坐标,第i行包含两个整数xi和yi(|xi|、|yi|<=109,xi<>0)。输出形式如果存在这样的点,则输入"Yes",否则输出"No"。样例输入31 1-1 -12 -1样例输出Yes参考代码#include<iostream>us原创 2021-08-07 18:12:16 · 281 阅读 · 0 评论 -
【程序设计训练】1-15 字符串反转3
问题描述给出一个字符串,请将其每个单词反转后输出。输入形式输入第一行为一个正整数N,表示测试用例数,接下来的N行,每行一个字符串。输出形式输出N行,每行对应一个反转后的字符串。样例输入3olleh !dlrowm'I morf .unhI ekil .tae样例输出hello world!I'm from hnu.I like eat.参考代码#include<iostream>#include<string>#include<sstre原创 2021-08-07 18:12:45 · 372 阅读 · 0 评论 -
【程序设计训练】1-16 n, 还是n
问题描述输出 包含n 或者是n的倍数的所有数输入形式正整数 m,n(0<m,n<1000000)输出形式从小到大排列的不大于 m 的特殊正整数(包含n,或者是n的倍数)。样例输入20 7样例输出7 14 17样例说明包含n的数可以考虑使用字符串查找解决参考代码#include<iostream>#include<cstring>#include<sstream>using namespace std;int main()原创 2021-08-07 18:13:18 · 311 阅读 · 0 评论 -
【程序设计训练】1-19 循环数
问题描述循环数是n位长度的整数,当乘以从1到n的任何整数时,产生原始数字的“循环”。也就是说,如果考虑最后一个数字之后的数字“绕”回到第一个数字,两个数字中的数字序列将是相同的,尽管它们可能从不同的位置开始。例如,数字142857是循环的,如下表所示: 142857 *1 = 142857 142857 *2 = 285714 142857 *3 = 428571 142857 *4 = 571428 142857 *5 = 714285 142原创 2021-09-03 22:19:33 · 650 阅读 · 0 评论 -
【程序设计训练】1-20 电能消耗
问题描述汤姆对他最喜欢的笔记本电脑的耗电量很感兴趣。他的笔记本电脑有三种模式。在正常模式下,笔记本电脑每分钟消耗P1瓦。在汤姆最后一次移动鼠标或触摸键盘后的T1分钟,屏幕保护程序启动,每分钟的功耗变化为P2瓦。最后,从屏幕保护程序启动到T2分钟后,笔记本电脑切换到“睡眠”模式,每分钟消耗P3瓦。 当笔记本电脑处于第二或第三模式时,如果汤姆移动鼠标或触摸键盘,则切换到第一种(正常)模式。 汤姆使用笔记本电脑工作的时间可以分为n个时间间期[l1, r1]、[l2, r2]、…、[ln, rn]。在每个间期,汤原创 2021-09-03 22:22:40 · 459 阅读 · 0 评论 -
【程序设计训练】2-1 字符串反转2
问题描述给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。 比如: “hello xiao mi”-> “mi xiao hello”输入形式输入数据有多组,每组占一行,包含一个句子(句子长度小于1000个字符)输出形式对于每个测试示例,要求输出句子中单词反转后形成的句子样例输入hello xiao miI am a student样例输出mi xiao hellostudent a am I参考代码#inc原创 2021-08-03 23:31:13 · 352 阅读 · 0 评论 -
【程序设计训练】2-2 487-3279
问题描述 每个人都喜欢有令人难忘的电话号码。要想让电话号码变得令人难忘的一种方法是拼出一个令人难忘的单词或短语。例如,你可以拨打滑铁卢大学的电话,拨打令人难忘的电话号码TUT-GLOP。 有时只有一部分号码被用来拼写一个单词,例如,你可以拨打310-gino从Gino’s订购披萨。 要使电话号码令人难忘的另一种方法是以一种令人难忘的方式对数字进行分组。你可以从比萨饼小屋中订购比萨饼,方法是拨打他们的“3个10”,即号码3-10-10-10。 电话号码的标准格式是七位的原创 2021-08-03 23:31:44 · 357 阅读 · 0 评论 -
【程序设计训练】2-3 缺席考试的是谁?
问题描述程序设计考试结束了,传来个不好的消息:有一个学生没参加考试!需要尽快知道缺席考试的人是谁,以便尽快做出处理。糟糕的是,尽管有签到表,但由于人数较多,签到情况比较混乱:有的签到表签在一张白纸上,有的虽然签在名册上,但并不是签在自己姓名旁,更有学生签到了别的签到表上……现在只能根据这2n-1个姓名(名册上有n个学生姓名,签到有n-1个姓名,签到姓名和名册姓名可能混在一起了),来找到缺席考试的人是谁。唯一一个有利的条件是所有参加考试的人都签了名,且只签一次,签名也都正确无误。现在任务交给你:编写一原创 2021-08-03 23:32:27 · 411 阅读 · 0 评论 -
【程序设计训练】2-4 电话号码
问题描述Vasya有几本电话簿,记录了他的朋友们的电话号码,每一个朋友都可以有一或几个电话号码。Vasya决定整理关于朋友电话号码的信息。给定n个字符串,来自于Vasya的电话簿中的条目。每一条都以朋友的姓名开头,然后跟着当前条目中的电话号码个数,然后是本人的电话号码。有可能几个相同的电话被记录在同一个记录中。Vasya还认为,如果电话号码a是电话号码b的后缀(也就是说,号码b以a结尾),这两个号码被当作同一个电话号码,那么a被认为是无城市代码,它不应该被考虑。输出整理后Vasya朋友的电话号码信息原创 2021-08-03 23:32:56 · 769 阅读 · 0 评论 -
【程序设计训练】2-5 点球大战
问题描述在足球比赛中,有不少赛事,例如世界杯淘汰赛和欧洲冠军联赛淘汰赛中,当比赛双方经过正规比赛和加时赛之后仍然不分胜负时,需要进行点球大战来决定谁能够获得最终的胜利。点球大战的规则非常简单,两方轮流派出球员罚点球,每方各罚5个。当5轮点球结束以后如果仍然不分胜负,则进入一轮定胜负的阶段。两方各派一名球员罚点球,直到有一方罚进而另一方没有进为止。在北美职业冰球联赛中,也有点球大战。与足球的规则不同的是,它只先罚3轮点球,随后就进入一轮定胜负的阶段,而其他的规则完全一样。在本题中,输入将给出每次点球是否原创 2021-08-03 23:33:38 · 786 阅读 · 0 评论 -
【程序设计训练】2-11 最小的K个数
问题描述输入n个整数,找出其中最小的k(k<=n)个不同数。例如输入4,5,1,6,1,7,3,8这8个数字,则最小的4个数字是1,3,4,5。输入形式每个测试案例包括2行:第一行为2个整数n,k(1<=n,k<=200000),表示数组的长度。第二行包含n个整数,表示这n个数,数组中的数的范围是[0,1000 000 000]。输出形式对应每个测试案例,输出最小的k个数,并按从小到大顺序打印(如果不存在k个不同的数,则按照实际数量进行输出)。样例输入8 44 5 1原创 2021-08-03 23:34:05 · 126 阅读 · 0 评论 -
【程序设计训练】2-12 绩点计算
问题描述学校对本科生的成绩施行绩点制(GPA)。将学生的实际考分根据不同学科的不同学分按一定的公式进行计算。规定如下:实际成绩 绩点90-100 4.085-89 3.782-84 3.378-81 3.075-77 2.772-74 2.368-71 2.064-67 1.560-63 1.060以下 0一门课程的学分绩点=该课绩点*该课学分总评绩点=所有学科绩点之和原创 2021-08-03 23:34:53 · 1494 阅读 · 0 评论 -
【程序设计训练】2-13 xxx定律
问题描述对于一个正整数n,如果是偶数,就把n砍掉一半;如果是奇数,把n变成 3*n+ 1后砍掉一半,直到该数变为1为止。请计算需要经过几步才能将n变到1,具体可见样例。输入形式测试包含多个用例,每个用例包含一个整数n,当n为0 时表示输入结束。(1<=n<=10000)输出形式对于每组测试用例请输出一个数,表示需要经过的步数,每组输出占一行。样例输入320样例输出51参考代码#include<iostream>using namespace std原创 2021-08-03 23:35:36 · 105 阅读 · 0 评论 -
【程序设计训练】2-14 数的距离差
问题描述给定一组正整数,其中最大值和最小值分别为Max和Min, 其中一个数x到Max和Min的距离差定义为:abs(abs(x-Max)-(x-Min))其中abs()为求一个数的绝对值输入形式包括两行,第一行一个数n,表示第二行有n个正整数输出形式输出一个数x,该数在所有n个数中的距离差最小;如果有两个数的距离差都是最小,输出较小的哪个样例输入53 1 7 5 9样例输出5参考代码#include<iostream>#include<algorithm原创 2021-08-03 23:36:12 · 312 阅读 · 0 评论 -
【程序设计训练】2-15 亲和数
问题描述古希腊数学家毕达哥拉斯在自然数研究中发现,220 的所有真约数(即不是自身的约数)之和为: 1+2+4+5+10+11+20+22+44+55+110=284。而 284 的所有真约数为 1、2、4、71、 142,加起来恰好为 220。人们对这样的数感到很惊奇,并称之为亲和数。一般地讲,如果两个数中任何一个数都是另一个数的真约数之和,则这两个数就是亲和数。你的任务就编写一个程序,判断给定的两个数是否是亲和数。输入形式输入若干行数据(大于0),每行一个实例,包含两个整数A原创 2021-08-03 23:36:56 · 243 阅读 · 0 评论 -
【程序设计训练】2-16 金币
问题描述国王为他的忠诚的骑士支付金币。在他服役的第一天,骑士收到一枚金币。在接下来2天(第二天和第三天的服务),骑士每天收到2金币。在未来三天(第五,第四,和第六天的服务),骑士每天收到三金币。在未来四天(第七,第八,第九,和第十天的服务),骑士每天收到四金币。这一模式的付款方式将继续下去:在接下来的n天骑士每天将收到n枚金币,而在接接下来的n+1天每天将收到n+1枚金币,这里n是正整数。你的程序将确定在任何给定的天数(从第1天开始)支付给骑士的金币总数。输入形式输入包含至少一行,但不超过21行。输入原创 2021-08-19 17:17:46 · 514 阅读 · 0 评论 -
【程序设计训练】2-17 小A的计算器
问题描述以往的操作系统内部的数据表示都是二进制方式,小A新写了一个操作系统,系统内部的数据表示为26进制,其中0-25分别由a-z表示。现在小A要在这个操作系统上实现一个计算器,这个计算器要能实现26进制数的加法运算。你能帮小A实现这个计算器吗?输入形式输入的第一行包括一个整数N(1<=N<=100)。接下来的N行每行包括两个26进制数x和y,它们之间用空格隔开,每个数的位数最多为10位,我们可以保证相加的结果的位数最多也是10位。每个数会用小A所设计的操作系统中的表示方法来表示,如:原创 2021-08-19 17:18:17 · 296 阅读 · 0 评论 -
【程序设计训练】2-19 数圈
问题描述以1为中心,用2,3,4, …, n, …, n*n的数字围绕着中心输出数圈, 如若n=4,则7 8 9 106 1 2 115 4 3 1216 15 14 13输入形式一个整数n(1<=n<=10)输出形式数圈矩阵样例输入5样例输出21 22 23 24 2520 7 8 9 1019 6 1 2 1118 5 4 3 1217 16 15 14 13参考代码#include <iostream>using namespace原创 2021-08-27 21:40:29 · 298 阅读 · 0 评论 -
【程序设计训练】2-20 锤子剪刀布
问题描述大家应该都会玩“锤子剪刀布”的游戏。现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。输入形式输入第1行给出正整数N(<=105),即双方交锋的次数。随后N行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C代表“锤子”、J代表“剪刀”、B代表“布”,第1个字母代表甲方,第2个代表乙方,中间有1个空格。输出形式输出第1、2行分别给出甲、乙的胜、平、负次数,数字间以1个空格分隔。第3行给出两个字母,分别代表甲、乙获胜次数最多的手势,中间有1原创 2021-08-19 17:19:18 · 205 阅读 · 0 评论 -
【程序设计训练】3-1 部分A+B
问题描述正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6;给定A = 3862767,DA = 1,则A的“1部分”PA是0,因为A中有0个1。现给定A、DA、B、DB,请编写程序计算PA + PB。输入形式输入在一行中依次给出A、DA、B、DB,中间以空格分隔,其中0 < A, B < 10^10。输出形式在一行中输出PA + PB的值。样例输入3862767原创 2021-07-23 23:31:47 · 130 阅读 · 0 评论 -
【程序设计训练】3-2 导弹防御系统
问题描述某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,并观测到导弹依次飞来的高度,请计算这套系统最多能拦截多少导弹。拦截来袭导弹时,必须按来袭导弹袭击的时间顺序,不允许先拦截后面的导弹,再拦截前面的导弹。输入形式每组输入有两行,第一行,输入雷达捕捉到的敌国导弹的数量k(k<=25),第二行,输入k个正整数,表示k枚导弹的高度,按来袭导弹的袭击时原创 2021-08-09 19:32:08 · 274 阅读 · 0 评论 -
【程序设计训练】3-4 打牌
问题描述牌只有1到9,手里拿着已经排好序的牌a,对方出牌b,用程序判断手中牌是否能够压过对方出牌。规则:出牌牌型有5种[1]一张 如4 则5…9可压过[2]两张 如44 则55,66,77,…,99可压过[3]三张 如444 规则如[2][4]四张 如4444 规则如[2][5]五张 牌型只有12345 23456 34567 45678 56789五个,后面的比前面的均大。输入形式输入有多行,第一行代表手中的牌,长度不超过200个数字。接下来的每一行代表每次对方出的牌。输出形式输出有原创 2021-09-08 15:56:47 · 623 阅读 · 1 评论 -
【程序设计训练】3-6 带通配符的数
问题描述给定一个可以带通配符问号的正整数W,问号可以代表任意一个一位数字。再给定一个正整数X,和W具有同样的长度。问有多少个整数符合W的形式并且比X大?输入形式多组数据,每组数据两行,第一行是W,第二行是X,它们长度相同,在[1…10]之间。输出形式每行一个整数表示结果。样例输入36?1?82364288?3910?5样例输出10004参考代码#include<iostream>#include<cmath>#include<cstd原创 2021-08-14 20:47:00 · 281 阅读 · 0 评论 -
【程序设计训练】3-7 愚人节的礼物
问题描述四月一日快到了,Vayko 想了个愚人的好办法——送礼物。嘿嘿,不要想的太好,这礼物可没那么简单,Vayko 为了愚人,准备了一堆盒子,其中只有一个盒子里面装了礼物。盒子里面可以再放零个或者多个盒子。假设放礼物的盒子里不再放其他盒子。用()表示一个盒子,B表示礼物,Vayko 想让你帮她算出愚人指数,即最少需要拆多少个盒子才能拿到礼物。输入形式本题目包含多组测试,请处理到文件结束。每组测试包含一个长度不大于 1000, 只包含’(’,’)'和’B’三种字符的字符串,代表 Vayko 设计的礼物原创 2021-08-14 20:47:37 · 436 阅读 · 0 评论 -
【程序设计训练】3-9 占座位
问题描述sun所在学校的教室座位每天都是可以预占的。一个人可以去占多个座位,而且一定是要连续的座位,如果占不到他所要求的这么多座位,那么他就一个座位也不要了。为了降低难度,每次分配座位按座位号从小到大查找,采用最先适配法分配座位。输入形式输入有多组数据。每组数据输入座位排数n,0<n<=100(座位的排列数相等,座位是按每行从左到右依次排序的, 第1行的最右边一个座位与第二行的第一个座位视为连续座位),m( 0<m<=min(100,n*n) )个人。然后输入k(0<原创 2021-08-14 20:48:02 · 648 阅读 · 0 评论 -
【程序设计训练】3-10 Maya历法
问题描述在学术休假期间,M.A. Ya教授在古老的Maya历法上有一个惊人的发现。从一个古老的令人棘手的信息中,教授发现Maya文明以365天为一年,称为Haab,包含19个月。前18个月每月有20天,月份名字为:pop、no、zip、zotz、tzec、xul、yoxkin、mol、chen、yax、zac、ceh、mac、kankin、muan、pax、koyab、cumhu。每月的天数使用数字来表示,从0~19,而不是用名字。Haab的最后一个月叫做uayet,有5天,表示为0、1、2、3、4。玛雅原创 2021-08-14 20:48:34 · 699 阅读 · 0 评论 -
【程序设计训练】3-11 数码管
问题描述正液晶数码管用七笔阿拉数字表示的十个数字,把横和竖的一 个短划都称为一笔,即7有3笔,8有7笔等。对于十个数字一种排列,要做到两相邻数字都可以由另一个数字加上几笔或减去几笔组成,但不能又加又减。比如 7→3是允许的,7→2不允许。任意输入一组数,判断是否符合上述规则,注意,1在右边。输入形式每行输入一个0~9的排列,数字之间用空格分隔,以-1作为输入结束输出形式输出YES或NO样例输入4 1 0 7 3 9 5 6 8 23 5 1 6 2 7 9 0 4 8-1样例输出YE原创 2021-07-24 16:06:35 · 187 阅读 · 0 评论 -
【程序设计训练】3-13 数字统计
问题描述给定一个k位整数N = dk-110k-1 + … + d1101 + d0 (0<=di<=9, i=0,…,k-1, dk-1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 100311,则有2个0,3个1,和1个3。输入形式每个输入包含1个测试用例,即一个不超过1000位的正整数N。输出形式对N中每一种不同的个位数字,以D:M的格式在一行中输出该位数字D及其在N中出现的次数M。要求按D的升序输出样例输入100311样例输出0:21:原创 2021-07-24 16:08:05 · 234 阅读 · 0 评论 -
【程序设计训练】3-15 公交系统
问题描述城市公交系统有一个记录仪,用于记录每个站点的乘客人数的变化情况,例如:x表示到站前公交车上的乘客人数,y表示离站时公交车上的乘客人数,则该记录仪记录的该站的数字为y-x。对于一辆公交车和n个车站,a1,a2,…,an为该公交车在各站的记录数据。假定w为该公交车可容纳的最大乘客人数,编程求出在第一站停靠之前公交车上人数的可能数据有多少种?输入形式第一行包含两个数据n和w(1<=n<=1000, 1<=w<=109),分别表示车站的数目和公交车可容纳的最大乘客人数。第原创 2021-07-24 16:09:24 · 719 阅读 · 0 评论