赞分享!
【 在 loverain 的大作中提到: 】
: 考试不能用外部模块,比如numpy
:
: 本青自学编程后第一次参加这种笔试,是题难还是水平太菜,各位大佬两小时能编的完吗,
:
: 第3题没写完,想先做后面的,
:
: 第6题没太懂啥意思 直接出结果不知道算不是对
:
: 在第7题耗费了40分钟,运行没问题 但网页测试通不过,后面都没时间了
:
: '''第1题 : '有一个数列,是从1 到100 的连续整数。每次擦去前两个整数,并把它们的和加到队尾。重复以上操作,当数列还剩9 个数时,输出这个数列。
: 【输入格式】
: 无
: 【输出格式】
: 1 个列表,列表中有9 个整数
: 【输入样例】
: 无
: 【输出样例(注意:以下列表只做示例,不是最终答案)】
: \[1, 2, 3, 4, 5, 6, 7, 8, 9\]'''
:
: # ls=\[\]
: # for i in range(1,101):
: # ls.append(i)
: # print(ls)
: # while True:
: # ls.append(ls\[0\]+ls\[1\])
: # ls.pop(0)
: # ls.pop(0)
: # if len(ls)<=9:
: # break
: # print(ls)
:
: '''第2题 :定义一种新运算:a ▲ b ,规则如下:
: 1)如果a >= b,则a ▲ b = a - b
: 2)如果a < b,则a ▲ b = a + b
: 请输出(2 ▲ (4 ▲ (6 ▲ (8 ▲ (............ ▲(196 ▲ (198 ▲200)))))......)
:
: 输入:无
: 输出格式:一行,一个正整数表示运算结果'''
:
: # a=198
: # b=200
: # while True:
: # if a>=b:
: # b=a-b
: # else:
: # b=a+b
: # a=a-2
: # if a==2:
: # break
: # # print(a)
: # # print(b)
: # print(a+b)
:
: '''第3题 小明在玩飞行棋,飞行棋一共有个100 格子,格子编号从1 到100。棋子初始位置在1,每次掷骰子前进一定的步数。
: 骰子会掷出一个1至6的随机整数,掷到几就前进几格。当掷骰子走到两类特殊编号的格子时会触发1 次跳格:
: 1)格子编号为3 的倍数时,棋子就退4 格;
: 2)格子编号除以7 的余数是4 的时候,棋子就前进3 格。
: 注意:
: 1)只有掷骰子走到该格时会触发跳格,跳到该格不会触发,即不会连续跳格。
: 2)2 个条件都满足时:先退4 格,再进3 格。比如:棋子走到第18 格的时候,先退
: 4 格,再前进3 格。棋子跳格后走到第17 格。(18 能被3 整除,18 除以7 的余数
: 是4。)
: 请根据题目描述,计算小明要掷多少次骰子才能走完100 个格子。
: 【输入格式】
: 无
: 【输出格式】
: 一个整数
: 【输入样例】
: 无
: 【输出样例(注意:10 只做示例,不是最终答案)】
: 10
:
: '''
: # ls=\[\]
: # for i in range(1,101):
: # ls.append(i)
: # # print(ls)
: # ls2=\[\]
: # for i in range(len(ls)):
: # if ls\[i\]%7==4:
: # ls2.append(ls\[i\])
: # # print(ls2) #未完成
:
: '''第4题 小明是一个图书管理员,他在收拾图书的时候经常需要爬到书架的最高层去取书,所以他需要爬上梯子还能够到,然而他拥有的梯子实在太短了,
: 只能把梯子拼起来高度才足够。现在有一个确定的书架高度h,以及n个梯子,
: 以及每个梯子都拥有一个长度h\_i(第i个梯子的高度就是h\_i)那么为了能够到最高处的书,
: 就要保证梯子的总高度加起来要比书架的高度h高才可以做到。然而把梯子叠起来实在是太危险了,
: 叠的越多就会越不稳,所以小明希望叠起来的梯子越少越好,这样还会相对安全一点,
: 所以你能写一个程序,只要我们输入一个书架的高度h,一个梯子的数量n,以及每个梯子的高度分别为多少,
: 就可以算出我们最少需要几个梯子才能让小明安全的够到书架顶端吗?如果够不到,输出No
: 输入格式:
: 第1行:1个正整数h,表示书架的高度
: 第2行:1个正整数n,表示梯子的数量或No
: 之后的连续n行:分别输入n个梯子的长度
: 输出格式:
: 一行,输出一个整数,表示需要的最少梯子数量
: 输入输出样例:
: 输入1:
: 40
: 5
: 11
: 13
: 19
: 11
: 18
: 输出1:
: 3
: 输入2:
: 40
: 5
: 1
: 1
: 1
: 1
: 1
: 输出2:
: No
:
: '''
:
: # h=int(input())
: # n=int(input())
: # ls=\[\]
: # ls_1=\[\]
: # for i in range(n):
: # h_1 = int(input())
: # ls.append(h_1)
: # # print(ls)
: # h_sum=sum(ls)
: # # print(h_sum)
: # if h_sum<h:
: # print('No')
: # else:
: # for i in range(len(ls)):
: # ls_1.append(max(ls))
: # m = ls.index(max(ls))
: # n = ls.pop(m)
: #
: # # print(ls_1)
: # h_1 = 0
: # i=0
: # while h_1<h:
: # h\_1=h\_1+ls_1\[i\]
: # i=i+1
: # print(i)
:
: '''第5题 小明去买饮料,饮料3元一瓶。恰好超市举行“回收再利用”活动,规则如下:
: 1)2个空瓶可以换1瓶饮料
: 2)5个瓶盖可以换1瓶饮料
: 3)兑换后的饮料剩下的空瓶和瓶盖可以继续进行兑换现在小明想知道,如果自己有m元钱的话,
: 最多可以喝到多少瓶饮料呢?请你写一个程序来计算。
: 输入格式:
: 一行,一个正整数m,表示可以用于购买饮料的总金额
: 输出格式:
: 一行,一个正整数,表示反复兑换直至不能再兑换时喝掉的饮料总数
: 输入输出示例:
: 输入1:20
: 输出1:17
: 输入2:10
: 输出2:7'''
:
: # def get_sum(cap, body):
: # ret = cap // 5 + body // 2
: # empty_cap = ret + cap % 5
: # empty_body = ret + body % 2
: # if (empty\_cap > 3) or (empty\_body > 1):
: # return ret + get\_sum(empty\_cap, empty_body)
: # else:
: # return ret
: #
: #
: # sum = 0
: # money = 0
: # money += int(input())
: # sum += money / 3
: # bottle = int(sum + get_sum(sum, sum))
: # print(bottle)
:
: '''第6题 皮皮在魔法世界参加密室逃脱,入口处有5扇门,编号为1-5,每扇门打开后都可以通向另一扇门,
: 对应关系为:1通向3, 2通向4, 3通向5, 4通向1, 5通向1,皮皮发现不管从哪扇门进去,最后都会到达1号门,
: 现在告诉你入口时选的门号,你能告诉皮皮要打开几扇门才能看到1号门么?
: 输入格式:一行,一个正整数n,入口门的编号
: 输出格式:一行,一个正整数,到达1号门总共要打开门的次数
: 输入输出示例:
: 输入1:
: 1
: 输出1:
: 0
:
: 输入2:
: 2
: 输出2:
: 2'''
: # door = \[3, 4, 5, 1, 1\]
: # m=int(input())
: # if m==1:
: # print(door\[0\])
: # if m==2:
: # print(door\[1\])
: # if m==3:
: # print(door\[2\])
: # if m==4:
: # print(door\[3\])
: # if m==5:
: # print(door\[4\])
:
: '''第7题 已知现在有n条连续线段头尾相接拼在一起,他们各自有自己的长度n1,n2,n3....,而他们整体来看就拼成了一条长线段,
: 其实他们之间互相组合也 可以拼成若干 条小线段,比如第1条和第2条就可以拼成一条;第2第3第4也可以拼成一条;
: 但 是第1条第2条第4条就不能,因为他们之间不连续。也就是 说任意 连续的几条线段都可以组成一条新的线段(至少2条才能 组成一条新线段),
: 而每条新线段都可以算出他的长度,那么 也就可以 求出一个 平均 长度(比如3条小线段拼成的长线段的平均 长度就为他们的总长度 / 3)。
: 现在我们想知道这n条连续线段组成的所有线段可能性中,平均长度的最小值为多少,请写一个程序来计算它。
: 输入格式:
: 第一行,输入一个正整数n表示线段个数
: 之后的连续n行,依次输入n个正整数分别表示这n条连续线段的长度。
: 输出格式:一行,一个小数,输出平均程度的最小值(四舍五入保留一位小数)
: 输入输出示例:
: 输入1:
: 5
: 5
: 4
: 3
: 2
: 1
: 输出1:1.5
: 样例1解释:表示一共有5条小线段,长度分别为5,4,3,2,1,而最后求出的平均值 最小 值来自于2和1拼成的长线段,平均值为(2+1)/2等于1.5
:
: 输入2:
: 6
: 1
: 3
: 1
: 5
: 2
: 4
: 输出2:
: 1.7
: 样例2解释:表示一共有6条小线段,长度分别为1,3,1,5,2,4,最后 求出的平均值 最小 值来自于1,3,1这3条线段拼成的长线段,平均值为(1+3+1)/3,在保留一位小数后结果为1.7
:
: '''
:
: n=int(input())
: ls=\[\]
: for i in range(n):
: h_1 = int(input())
: ls.append(h_1)
: # print(ls)
: ls1=\[\]
: for i in range(len(ls)):
: for j in range(i+2,len(ls)):
: mean1=sum(ls\[i:j\])/len(ls\[i:j\])
: ls1.append(mean1)
: print(ls1)
: ls1.sort()
: min=ls1\[0\]
: print(round(min,1))
:
: '''第8题 有一群老鼠想去偷油,现在有一个巨型油桶容积60L,里面有24L油。油桶太高了,老鼠们够不到,所以为了得到油,
: 小老鼠们想到了乌鸦喝水的方式,通过往里灌水的方法,可以让油浮上来。 现在老鼠们一共有10个装满了水的大水瓶,
: 容积如以下列表所示:\[18, 11, 22, 17,12, 29, 28, 26, 20, 21\]。
: 现在规定,老鼠们只能 使用3个大水瓶,而且大水 瓶不能 重复使用,每次使用一个水瓶的话,
: 就必须 把水瓶里的水全部都倒进去。请问在不能让水溢 出巨型油桶的前提下怎么获得尽可能多的油呢?以及一共有几种方式可以得到呢?
: 输入:无
: 输出格式:
: 第一行,一个正整数表示老鼠们能得到的油的容积的最大值
: 第二行,一个正整数表示一共有几种方法(同样3个瓶子 改变顺 序算 同一种方法,例如18,11,22与11,22,18算同一种方法)
:
: '''
:
: '''第9题 有这样一类自然数,它们的数位设置符合以下规则:从左数第4 个数位开始,每个数位都恰好
: 是它前面3 个数位之和,以此类推,直至它前面3 个数位之和算出的结果不是个位数为止。例
: 如:起始三个数(1+1+0),第位是110,那么左数第四位是2五位是3(1+0+2),第六位
: 是5(0+2+3),再之后计算2 + 3 + 5 = 10,10 不是个位数,无法继续往后写,所以组成
: 的多位数是110235。那么,满足上述规则的自然数共多少个?
: 【输入格式】
: 无
: 【输出格式】
: 一个整数
: 【输入样例】
: 无
: 【输出样例(注意:10 只做示例,不是最终答案)】
: 10'''
:
: '''第10题 小明有一块价值连城的钻石。有一次他把钻石送去展览,但是为了防止钻石被盗,他雇佣了很多保安来确保安全。
: 所以他就要判断当前的排班情况是否符合要求。现在已知每天展览开放的时间为12时至24时,
: 要保证在每天的任何一个时段同时巡逻的保安人数不能少于m人,而小明一共雇佣了n名保安,
: 每名保安都有各自的巡逻 时间\[ai,bi\](ai和bi都为12-24之间的整数,也就是都从整点巡逻到整点),
: 请你检查一下当前输入的巡逻方案能不能满足要求,如果可以的话输出”yes”,并输出同时巡逻人数最多的时刻的人数为多少;
: 如果不可以的话输出”no”,并输出同时巡逻人数最少的时刻的人数为多少。
: 输入格式:
: 第一行输入一个正整数m,表示任何一个时段需要同时巡逻的人数
: 第二行输入一个正整数n,表示总共的保安人数
: 之后的2n行,分别按输入n名保安各自的巡逻开始时间、结束时间。
: 比如先输入第一名的开 始时间a1,然后是第一名的结 束时间b1,之后是第二名的开始时间a2,再是第 二名的结束时间b2,以此类推....
: 输出格式:第一行,输出”yes”或”no”,表示该方案能否满足要求
: 第二行,输出一个正整数,根据情况输出同时最多巡逻的人数或是同时最少巡逻的人数。
: 输入输出示例:
: 输入1:
: 2
: 3
: 12
: 24
: 12
: 18
: 18
: 24
: 输出1:
: yes
: 3
: 样例1解释:表示m为2,任意时刻要至少有2名保安同时巡逻;n为3,一共有3名保安;3名保安的时间分别为12时-24时,12时-18时,18时-24时,
: 显然任何时间都有2名以上保安同时巡逻,输出yes,而在18时人数最多,同时有3名保安巡逻。
: 输入2:
: 2
: 2
: 12
: 24
: 12
: 23
: 输出2:
: no
: 1
: 样例2解释:
: 表示m为2,任意时刻要至少有2名保安同时巡逻;n为2,一共有2名保安;2名保安的时间分别为12时-24时,以及12时-23时,显然23时-24时中间只有1人巡逻,所以不符合题意,而巡逻人数最少的时间为23时-24时,只有1人,所以输出1。'''
:
: '''第11题 甲乙二人合作组装桌椅套装(一套桌椅包含一张桌子和一把椅子),已知:
: 甲每30 分钟组装一张桌子,每10 分钟组装一把椅子
: 乙每x 分钟组装一张桌子,每y 分钟组装一把椅子
: 在6 小时内,甲乙两人通过合理搭配,最多可以一起组装出多少套桌椅?
: 【说明】
: 6 小时内甲乙各自决定组装桌椅的时间投入
: 甲乙每人组装的桌椅数量一定是整数
: 甲组装的桌子可以和乙组装的椅子形成套装,反之亦然。
: 【输入】
: 一个整数x,表示乙组装一张桌子的时间(分钟)
: 一个整数y,表示乙组装一把椅子的时间(分钟)
: x, y 均为不超过60 的正整数
: 【输出】
: 一个整数max_n,表示甲乙合作组装的最大套装数量
: 【输入样例】
: 15
: 15
: 【输出样例】
: 27
: 【输入说明】
: 乙组装一张桌子的时间是15 分钟
: 乙组装一把椅子的时间是15 分钟
: 【输出说明】
: 甲投入90 分钟组装组装3 张桌子,投入270 分钟组装27 把椅子
: 乙投入360 分钟组装24 张桌子,投入0 分钟组装0 把椅子
: 合计27 套桌椅
: '''
: --
:
发自「今日水木 on iPhone X」
--
FROM 115.171.23.*