#P26031. [GESP一级2603] 交朋友
[GESP一级2603] 交朋友
[GESP一级2603]对应的【选择题】和【判断题】https://1lou.org/p/459
[GESP一级2603] 交朋友
试题名称:交朋友 时间限制:1.0 s 内存限制:512.0 MB 题目描述 Alice 班上共有 4 个⼩朋友,⾝⾼分别为 ,其中 Alice 的⾝⾼为 。 Alice 想要和⾝⾼最接近她的⼈交朋友,如果有多个⼈符合条件,则 Alice 想和其中较矮的那⼀⼈做朋友,你能告诉 她这个⼈的⾝⾼是多少吗? 输入格式 输⼊共 ⾏,第 ⾏包含⼀个整数 ,表⽰班上⼩朋友的⾝⾼。 输出格式 输出 ⾏,包含⼀个整数 ,表⽰ Alice 想交的朋友的⾝⾼。 样例
输入样例1
150
165
135
133
输出样例1
135
参考程序(点击展开)
#读入4个小朋友的身高
H1 = int(input()) # Alice 的身高
H2 = int(input())
H3 = int(input())
H4 = int(input())
# 我们只关心 H2, H3, H4(其他三个小朋友)
# 先算出每个人和 Alice 的身高差(用绝对值,这样不会负数)
# 与H2小朋友的身高差
# 如果身高差为负数,转换为正数。
diff2 = H2 - H1
if diff2 < 0:
diff2 = -diff2
# 与H3小朋友的身高差
diff3 = H3 - H1
if diff3 < 0:
diff3 = -diff3
# 与H4小朋友的身高差
diff4 = H4 - H1
if diff4 < 0:
diff4 = -diff4
# 刚开始假设最好的朋友是 H2
best = H2 # 最好的小朋友身高,
best_diff = diff2 # 与最好小朋友的身高差
# 比较 H3 小朋友
if diff3 < best_diff: # 如果 H3 更接近,即身高差更小
best = H3 # 最好小朋友的身高进行更新
best_diff = diff3 # 与最好小朋友的身高差更新
elif diff3 == best_diff and H3 < best: # 如果一样近,但 H3 小朋友更矮
best = H3
# 比较 H4
if diff4 < best_diff: # 如果 H4 更接近
best = H4 # 最好小朋友的身高进行更新
best_diff = diff4 # 与最好小朋友的身高差更新
elif diff4 == best_diff and H4 < best: # 如果一样近,但 H4 更矮
best = H4
# 输出结果,即输出最好小朋友的身高
print(best)
编程题