首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >令人兴奋的马里奥卡德大奖赛-最小化点差!

令人兴奋的马里奥卡德大奖赛-最小化点差!
EN

Code Golf用户
提问于 2021-05-03 06:52:17
回答 19查看 2.8K关注 0票数 11

Introduction

前几天,当我和2个室友、9个AI车手和我一起参加大奖赛时,一个有趣的问题出现了。

我们扪心自问:在N次比赛之后,第一名和最后一名(第一名和第十二名)之间的差距有多大?

在用户mlk回答了最小差的分配问题后,这个代码高尔夫挑战发生在我身上。

挑战

马里奥卡丁车比赛由12名车手组成,他们在每一场比赛中都会得到这个1索引数组:[15, 12, 10, 8, 7, 6, 5, 4, 3, 2, 1, 0]所代表的分数。

在大奖赛中,每一位车手从每一场比赛中得到的分数被简单地加在一起,形成最后的积分分布。在最后一个点分布中,最低点和最高点之间的差异称为点差(唉,位置#1和#12之间)。

您的任务是编写一个程序,该程序以竞赛数N (1 <= N <= 32)作为输入,并输出相应的点差。

前13个正确的输入和输出见下文。您会发现,在特殊情况N = 1N = 2之后,如果N可除以12,则正确的答案是0,如果不能,则为1

示例输入输出

由于对每个自然数正确地定义了期望的输出,下面是输入/输出示例,直到上面描述的重复模式开始:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1 -> 15
2 -> 4
3 -> 1
4 -> 1
5 -> 1
6 -> 1
7 -> 1
8 -> 1
9 -> 1
10 -> 1
11 -> 1
12 -> 0
13 -> 1

目标

这是代码高尔夫,所以最短的答案字节赢!

标准漏洞应用。

EN

回答 19

Code Golf用户

发布于 2021-05-03 08:40:14

JavaScript (ES7),19字节

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
n=>14/n**n+1^n%12<1

在网上试试!

我们计算:

\left\lfloor\frac{14}{n^n}+1\right\rfloor

\lfloor 14/1+1\rfloor=15表示n=1\lfloor 14/4+1 \rfloor=4表示n=21表示n>2

然后,我们使用1 if n \bmod 12=0对结果进行异或。

票数 16
EN

Code Golf用户

发布于 2021-05-03 07:37:17

Python 3,28字节

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lambda x:max(26-x*11,x%12>0)

在网上试试!

-4字节,这要归功于ovs

如果布尔输出无效(在Python、True == 1False == 0中),则在max之前添加+以将其转换为int。

票数 6
EN

Code Golf用户

发布于 2021-05-03 07:59:31

维沙尔,11字节

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
12Ḋ⌐₄?11*-

在网上试试!

超中微子的Python回答

是如何工作的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
12Ḋ⌐₄?11*-- Program. N is on the stack
12- Is N divisible by 12, 12 | N?- Logical NOT?11    - Push 26, N, 11
        *   - Yield 11×N
         -  - Yield 26 - 11×N- Maximum of (26 - 11 × N) and ¬(12 | N)
票数 4
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文