四位计时,以分钟计算未来时间

近日遇到一编程题:有时候人们用四位数字表示一个时间,比如1106表示11点零6分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,例如5点30分表示为530;0点30分表示为030。注意,第二个数字表示的分钟数可能超过60,也可能是负数,当其为负数时,终止时间不会跨天,当其为正数时,终止时间有可能跨天。

在我独自思考之后有了些许思路,实在是不容易,但在提交结果时却深受打击,正确率才达到一半,运行结果各方面也都尽力考虑了,但实在是没有别的思路,当局者迷属实没找出其他问题,希望各位大佬、同学、朋友一起帮忙纠正一下,谢谢大家!

 

dcd61286eea243e0b82abccec789b227.jpg

 

 

### 回答1: 这段文本描述了人们如何用四位数字表示时间,比如1106表示116。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。输入两个数字,第一个数字表示当前时间,用这样的四位数字表示;第二个数字表示流逝的时间,同样用四位数字表示。 ### 回答2: 个数字表示流逝的时间(以分钟为单位)。你需要编写一个程序计算出这段时间结束后的时间。例如,输入为1106和300,则输出为1516。 为了解决这个问题,首先需要将当前时间与流逝的时间转换为小时和分钟。对于当前时间1106,我们可以通过将它除以100得到小时数11,将它模以100得到分钟6。流逝的时间300可以直接转换为小时数5和分钟数0。 然后将当前时间的小时数和流逝时间的小时数相加,得到新的小时数16。如果新的小时数大于或等于24,则需要将其减去24得到正确的小时数。接下来,将当前时间分钟数和流逝时间分钟数相加,得到新的分钟6+0=6。如果新的分钟数大于或等于60,则需要将其减去60得到正确的分钟数。 最后,将新的小时数和新的分钟数组合起来,得到终止时间。在本例中,新的小时数为15,新的分钟数为16,因此终止时间为1516。 需要注意的是,程序需要考虑时间进制的特性,使得转化后的时间和我们通常使用的计时法相符合。同时,还需要注意输入和输出格式的问题,以确保程序能够准确地计算和输出结果。 ### 回答3: 数字表示流逝的时间,单位是分钟。你需要将这两个数字转化为时间格式,并将它们相加,得到终止时间。 首先,我们需要将输入的两个数字别拆成小时和分钟表示方式。对于一个四位数字,我们可以使用整除和取模操作获得每一位的数值。假设当前时间为time1,流逝的时间为elapsed_time,则有: hour1 = time1 // 100 # 取百位和十位,得到小时数 minute1 = time1 % 100 # 取个位和十位,得到分钟数 同样地,我们可以根据elapsed_time计算出经过的小时和分钟数: elapsed_hour = elapsed_time // 60 # 计算经过的小时数 elapsed_minute = elapsed_time % 60 # 计算经过的分钟数 接下来,我们需要将小时和分钟数相加,并对超过24小时和60分钟的情况进行处理。一种简单的方法是将小时和分钟别转化为总分钟数,相加后再转换回小时和分钟表示方式。这可以通过下面的代码实现: total_minute = hour1 * 60 + minute1 + elapsed_hour * 60 + elapsed_minute # 计算总共经过的分钟数 hour2 = total_minute // 60 % 24 # 将总分钟数转化为小时数,并取模24得到小时数 minute2 = total_minute % 60 # 将总分钟数对60取模得到分钟数 最后,我们可以将hour2和minute2转化为四位数字表示方式: time2 = hour2 * 100 + minute2 这样,我们就完成了程序的编写。完整代码如下: time1 = int(input()) elapsed_time = int(input()) hour1 = time1 // 100 minute1 = time1 % 100 elapsed_hour = elapsed_time // 60 elapsed_minute = elapsed_time % 60 total_minute = hour1 * 60 + minute1 + elapsed_hour * 60 + elapsed_minute hour2 = total_minute // 60 % 24 minute2 = total_minute % 60 time2 = hour2 * 100 + minute2 print(time2)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值