首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >24小时合计时间

24小时合计时间
EN

Code Golf用户
提问于 2016-12-31 03:02:31
回答 10查看 1K关注 0票数 21

给定一个介于0到141 (包括在内)之间的整数,列出其小时、分钟和秒单位加到该整数中的所有24小时时间。

加法规则

数字是按时间单位加起来的,而不是用个位数加起来的。

例如,17:43:59。

17+43+59=119

记住,这是一个数字被添加的例子。在现实中,你将进入119,17:43:59将是结果之一。输出应为HH:MM:SS或H:MM:SS。

也要记住,最高的数字是141,是23:59:59。这是密码高尔夫,所以最低数量获胜。试验和错误是允许的,但可能有更好的方法来解决这个问题。

编辑:请指定输入值在代码中的位置。

EN

回答 10

Code Golf用户

发布于 2016-12-31 07:22:30

Python 3,91字节

代码语言:javascript
复制
def f(n):
 for k in range(86400):t=k//3600,k//60%60,k%60;sum(t)==n!=print('%d:%02d:%02d'%t)

使用exec (Python2)或递归(Python3)有较短的解决方案,但两者都需要不合理的内存量。

在网上试试!

票数 4
EN

Code Golf用户

发布于 2016-12-31 04:15:29

Haskell,77字节

代码语言:javascript
复制
f x=[tail$(':':).tail.show.(+100)=<<t|t<-mapM(\x->[0..x])[23,59,59],sum t==x]
票数 3
EN

Code Golf用户

发布于 2016-12-31 03:47:59

Haskell,90字节

代码语言:javascript
复制
p x=['0'|x<10]++show x
i=[0..59]
f x=[p h++':':p m++':':p s|h<-[0..23],m<-i,s<-i,h+m+s==x]

返回HH:MM:SS字符串的列表,例如f 140 -> ["22:59:59","23:58:59","23:59:58"]

它是三个简单的循环,通过时间,分钟和秒。保存和格式化所有值,其中和是输入数字x

票数 2
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/105151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档