首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >鸡McNugget数

鸡McNugget数
EN

Code Golf用户
提问于 2017-07-16 18:05:34
回答 18查看 7.7K关注 0票数 31

描述

鸡肉McNugget数是指可以用6920之和表示的数字--麦当劳出售的著名麦乐鸡盒的初始尺寸。在这个数字中,一个数字可能不止一次出现,所以6 + 6 = 12也是这样一个数字,这个数字必须“包含”至少其中一个。第一批鸡的McNugget数是:

\begin{align*}&6\\ &9\\ &6 + 6 = 12\\ &6 + 9 = 15\\ &9 + 9 = 6 + 6 + 6 = 18\\ &20\\ &6 + 6 + 9 = 21\\ &\dots \end{align*}

挑战

您的任务是编写一个程序或函数,该程序或函数给定一个正整数,确定这个数字是否可以用描述的方式表示,因此是这样一个小鸡McNugget号。然后,它应该根据自己的决定输出一个真实或虚假的价值。

测试用例

代码语言:javascript
复制
6 -> true
7 -> false
12 -> true
15 -> true
21 -> true
40 -> true
42 -> true

这是密码-高尔夫,所以以字节为单位的最短答案获胜,并应用标准漏洞!

EN

回答 18

Code Golf用户

发布于 2017-07-16 19:04:51

Python,27字节

代码语言:javascript
复制
lambda n:0x82492cb6dbf>>n&1

在网上试试!

票数 38
EN

Code Golf用户

发布于 2017-07-16 18:35:57

Python 3,24字节

代码语言:javascript
复制
lambda n:0<=n--n%3*20!=3

在网上试试!

解释

仅用69,就可以使所有整数都可以被大于33整除,就像ovs对挑战的评论中所说的那样。假设我们也可以制作0。总之,我们可以制造0,6,9,12,15,...

使用20的一个实例,您可以创建:20,26,29,32,35,...

使用20的两个实例,可以创建:40,46,49,52,55,...

对于3 x 20 = 10 x 6来说,三个实例是不必要的。

注意,不需要20的情况也可以除以3;需要一个20的情况留下了2的剩余部分;需要两个20的情况留下了1的剩余部分。

因此,所需的20数量可以由(-n)%3计算。然后,我们执行n-(((-n)%3)*20)从数字中删除所需的20数。然后我们检查这个数字是非负的,但不是3.

票数 29
EN

Code Golf用户

发布于 2017-07-16 18:59:05

Python 2,28字节

代码语言:javascript
复制
lambda n:-n%3-n/20<(n%20!=3)

在网上试试!

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

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

复制
相关文章

相似问题

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