牛客刷题:出差(编程题)

题目描述

NowCoder是个大忙人,经常要到国外出差。因为各个国家所在的时区不同,他要计算飞机到达目的地后当地的时间,这样才能预约来接机的司机。 你能帮帮他吗?现在给你出发时间、路程、当地时区以及目的地时区,请帮他计算到达目的地的时间。

输入描述:

输入包含多组数据,每组数据一行。

每组数据包含六个整数a、b、c、d、e、f:
1. 其中a和b分别表示出发时间的小时和分钟(0 ≤ a ≤ 23, 0 ≤ b ≤ 59);
2. c和d表示从出发地到目的地所需时间的小时和分钟 (0 ≤ c ≤ 100, 0 ≤ d ≤ 59);
3. e表示出发地所在的时区(-12 ≤ e ≤ 12)
3. f表示目的地所在的时区(-12 ≤ f ≤ 12)

输出描述:

对应每组输入,输出一行。

每组输出包含两个正整数,分别为到达目的地时当地时间的小时和分钟。

输入

17 30 14 5 8 -4
17 30 14 5 -4 8

输出

19 35
19 35

解答:

while True:
    try:
        a,b,c,d,e,f=map(int,input().strip().split(" "))
        dangqianshiquxiaoshi=a+c
        dangqianshiqufenzhong=b+d
        shiqucha=e-f
        res_xiaoshi=(a+c-shiqucha)
        res_fenzhong=b+d
        if res_fenzhong>=60:
            res_fenzhong=res_fenzhong-(res_fenzhong//60)*60
            res_xiaoshi+=1
        if res_xiaoshi>=24:
            res_xiaoshi=res_xiaoshi-(res_xiaoshi//24)*24
        print(str(res_xiaoshi)+" "+str(res_fenzhong))
    except:
        break

总结:

1. 这道题是一个简单时间计算,需要注意的几个地方是,时差应该是e-f(当前时区-目的地时区),然后当分钟算出来超过60,需要进位,小时超过24,也需要进位。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值