华为机试
文章平均质量分 61
Mia~~
坚持本身就很有意义,不是吗?
展开
-
华为机试(python):模拟
HJ38 求小球落地5次后所经历的路程和第5次反弹的高度描述假设一个球从任意高度自由落下,每次落地后反跳回原高度的一半; 再落下, 求它在第5次落地时,共经历多少米?第5次反弹多高?输入描述:输入起始高度,int型输出描述:分别输出第5次落地时,共经过多少米以及第5次反弹多高。注意:你可以认为你输出保留六位或以上小数的结果可以通过此题。def journey(start,n): distance = start height = [start] f原创 2022-04-03 20:45:42 · 786 阅读 · 0 评论 -
华为机试(python):动态规划
HJ16购物单王强决定把年终奖用于购物,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子:主件 附件 电脑 打印机,扫描仪 书柜 图书 书桌 台灯,文具 工作椅 无 如果要买归类为附件的物品,必须先买该附件所属的主件,且每件物品只能购买一次。每个主件可以有0个、1个或2个附件。附件不再有从属于自己的附件。王强查到了每件物品的价格(都是10元的整数倍),而他只有 N 元的预算。除此之外,...原创 2022-04-01 22:03:49 · 1743 阅读 · 0 评论 -
华为机试(python):哈希
HJ8合并表记录数据表记录包含表索引index和数值value(int范围的正整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照index值升序进行输出。输入描述:先输入键值对的个数n(1 <= n <= 500)接下来n行每行输入成对的index和value值,以空格隔开输出描述:输出合并后的键值对(多行)while True: try: n = int(input()) dic.原创 2022-04-01 20:52:03 · 124 阅读 · 0 评论 -
华为机试(python):栈
HJ77火车进站给定一个正整数N代表火车数量,0<N<10,接下来输入火车入站的序列,一共N辆火车,每辆火车以数字1-9编号,火车站只有一个方向进出,同时停靠在火车站的列车中,只有后进站的出站了,先进站的才能出站。要求输出所有火车出站的方案,以字典序排序输出。输入描述:第一行输入一个正整数N(0 < N <= 10),第二行包括N个正整数,范围为1到10。输出描述:输出以字典序从小到大排序的火车出站序列号,每个编号以空格隔开,每个输出序列换行只是进行.原创 2022-03-13 18:59:28 · 1302 阅读 · 1 评论 -
华为机试(python):链表
HJ48从单向链表中删除指定值的节点输入一个单向链表和一个节点的值,从单向链表中删除等于该值的节点,删除后如果链表中无节点则返回空指针。链表的值不能重复。构造过程,例如输入一行数据为:6 21 23 25 14 57 22则第一个参数6表示输入总共6个节点,第二个参数2表示头节点值为2,剩下的2个一组表示第2个节点值后面插入第1个节点值,为以下表示:1 2 表示为2->1链表为2->13 2表示为2->3链表为2->3->...原创 2022-03-13 18:29:22 · 444 阅读 · 0 评论 -
华为机试(python):模拟
HJ22 汽水瓶题目:有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是 5 瓶,方法如下:先用 9 个空瓶子换3瓶汽水,喝掉 3 瓶满的,喝完以后 4 个空瓶子,用 3 个再换一瓶,喝掉这瓶满的,这时候剩 2 个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用 3 个空瓶子换一瓶满的还给老板。如果小张手上有 n 个空汽水瓶,最多可以换多少瓶汽水喝?注意:本题存在多组输入。允许如题面所述向老板借汽水。...原创 2022-03-11 17:19:34 · 596 阅读 · 0 评论 -
华为机试(python):排序
HJ6 质数因子题目:功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为22335)输入描述:输入一个整数输出描述:按照从小到大的顺序输出它的所有质数的因子,以空格隔开。##质因子只有1和它本身import mathn = int(input())for i in range(2, int(math.sqrt(n))+1): while n % i == 0: print(i, end=' '...原创 2022-03-11 09:26:52 · 410 阅读 · 0 评论 -
华为机试(python):基础数学
HJ108 求最小公倍数题目:正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。输入描述:输入两个正整数A和B。输出描述:输出A和B的最小公倍数。##短除法A,B = map(int,input().split())T = 1for i in range(2,min(A,B)+1): while A % i == 0 and B % i == 0: #T为最小公约数 T =原创 2022-03-06 16:34:53 · 635 阅读 · 0 评论 -
华为机试(python):字符串1
HJ5 进制转换题目:写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。输入描述:输入一个十六进制的数值字符串。输出描述:输出该数值的十进制字符串。不同组的测试用例用\n隔开。while True: try: number = input() n = len(number) dic = {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9,'A'原创 2022-03-05 21:52:52 · 3215 阅读 · 0 评论 -
华为机试(python):字符串
多组输入的实现?while True: try: ##中间填入主要代码 except: breakHJ4 字符串分隔题目:连续输入字符串,请按长度为8拆分每个输入字符串并进行输出;长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。(注:本题有多组输入)输入描述:连续输入字符串(输入多次,每个字符串长度小于等于100)。输出描述:依次输出所有分割后的长度为8的新字符串。while True: ...原创 2022-03-01 22:36:11 · 808 阅读 · 0 评论 -
华为机试(python):数组
HJ80 整型数组合并题目:将两个整型数组按照升序合并,并且过滤掉重复数组元素。输出时相邻两数之间没有空格。输入描述:输入说明,按下列顺序输入:1)输入第一个数组的个数2) 输入第一个数组的数值3)输入第二个数组的个数4) 输入第二个数组的数值输出描述:输出合并之后的数组eg:输入31 2 54-1 0 3 2输出-101235实现:while True: try: count1= input() nums1 .原创 2022-02-19 22:24:22 · 1127 阅读 · 0 评论