试题 历届真题 时间显示(python)
问题描述
问题分析
这个问题主要涉及到的是取余和取整的问题,同时需要注意的是数据的规模有1018,在C语言中这是一个大数问题,但是在python中则不会太复杂(python支持高精度),所以简单的循环和注意一下输出的格式就能AC。
不过需要注意的是1 秒=1000 毫秒,而不是60毫秒。
代码实现
n = int(input())
# 先转换为秒为单位
n = n//1000
# 除去天
day = 24*60*60
n = n%day
# 开始计算秒、分、时
s = n%60
n = n//60
m = n%60
n = n//60
h = n
def special_print(a):
if a<10:
print("0%d"%a,end="")
else:
print(a,end="")
special_print(h)
print(":",end="")
special_print(m)
print(":",end="")
special_print(s)
测试结果
总结
总体来说python遇到这种问题还是占优势,C/C++可能需要手写高精度除法。不过也要注意输出的格式。
(3分钟解决)