HuaWei机试¶
HJ1 字符串最后一个单词的长度¶
描述 计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)
输入:
hello nowcoder
输出:
8
inp = input().split()
print(len(inp[-1]))
HJ2 计算某字符出现次数¶
描述 写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)
输入描述: 第一行输入一个由字母、数字和空格组成的字符串,第二行输入一个字符(保证该字符不为空格)。
输出描述: 输出输入字符串中含有该字符的个数。(不区分大小写字母)
输入:
ABCabc
A
输出:
2
a_str = input().lower()
b_char = input().lower()
print(a_str.count(b_char))
HJ3 明明的随机数¶
描述 明明生成了 N个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。
输入描述: 第一行先输入随机整数的个数 N 。 接下来的 N 行每行输入一个整数,代表明明生成的随机数。 具体格式可以参考下面的"示例"。
输出描述: 输出多行,表示输入数据处理后的结果
示例:
输入:
3
2
2
1
输出:
1
2
参考题解:
import sys
inputs = []
for line in sys.stdin:
inputs.append(int(line))
result = sorted(list(set(inputs[1:])))
for n in result:
print(n)
HJ4 字符串分隔¶
描述 •输入一个字符串,请按长度为8拆分每个输入字符串并进行输出; •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
示例:
输入:
abc
输出:
abc00000
参考题解:
s = input()
idx_list = list(range(len(s))[::8])
result = [s[idx:idx+8] for idx in idx_list]
for s in result:
print("{:0<8s}".format(s))
HJ5 进制转换¶
描述 写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。
示例:
输入:
0xAA
输出:
170
题解:
s = input()
print(format(eval(s), 'd'))
HJ6 质数因子¶
描述 功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )
示例:
输入:
180
输出:
2 2 3 3 5
题解:
import math
n = int(input())
for i in range(2, int(math.sqrt(n))+1):
while n % i == 0:
print(i, end=' ')
n = n // i
if n > 2:
print(n)
HJ7 取近似值¶
描述 写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。
示例1
输入:
5.5
输出:
6
示例2
输入:
2.499
输出:
2
题解:
f = float(input())
div = f * 10 // 10
mod = f * 10 % 10
if mod >= 5:
div += 1
print(int(div))