首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场

Pyth实践2
EN

Code Golf用户
提问于 2015-12-28 16:08:13
回答 2查看 759关注 0票数 21

是时候再练习一次了。我在这里给出了8个问题陈述,每个问题都有一个Pyth解决方案。这些解决方案是由Pyth初学者编写的。他对这些解决方案相当满意,因为它们比Python的答案短得多。然而,你的任务是向他展示更好的东西。创建等效但较短的程序。

这是一个挑战的技巧和优化,可以使用时,在皮斯高尔夫。皮斯高尔夫球手可能会认识到其中的许多技巧,这会导致更短的解决方案。然而,有些问题需要一些罕见的方法来解决。一些我在野外从未见过的花招。但没有任何解决方案需要任何缺陷或奇怪的行为,这不是由设计人员(S)的毕思。所有答案必须对最近的Pyth (2b1562b)在此问题发布时有效。您可以使用派思解释器进行测试。现在是最新的,我不认为Pyth有什么大的变化,它会使最优解失效,或者使较短的解成为可能。在线解释器还提供了新的字符引用。由于它是非常新的,所以您也可以(应该)使用那些老医生,以防有什么不正确或缺少的东西。

目标:参考解决方案总计81字节。你的目标是尽可能地击败它。以最小字节数解决所有8个问题的提交将获胜。平局是提交日期。

当然,只有提交的文件是有效的,其中包含了所有8个问题的解决方案。如果不能提高一个(或多个)特定问题的得分,则可以使用参考实现。

您的解决方案必须打印与参考解决方案完全相同的输出。除了一个可选的尾随换行符。

因为这是Pyth实践,所以只有用Pyth语言编写的程序才被允许。

回答:请把你的全部答案,除了你的总分。在提交你自己的答案之前,你不要看别人的答案。您可以通过放置>来创建破坏者!在每一行前面,就像:

代码语言:javascript
运行
复制
>! Problem 1: V9m?>dNd0S9 (11 bytes)
>! Problem 2: VTN)VGN (7 bytes)
>! ...

我希望我没有选择太困难或太琐碎的问题。希望很多参与者和每个人都能对Pyth有一些新的见解。高尔夫快乐!

问题1:

创建以下9x9矩阵并打印它:

代码语言:javascript
运行
复制
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 0, 3, 4, 5, 6, 7, 8, 9]
[0, 0, 0, 4, 5, 6, 7, 8, 9]
[0, 0, 0, 0, 5, 6, 7, 8, 9]
[0, 0, 0, 0, 0, 6, 7, 8, 9]
[0, 0, 0, 0, 0, 0, 7, 8, 9]
[0, 0, 0, 0, 0, 0, 0, 8, 9]
[0, 0, 0, 0, 0, 0, 0, 0, 9]

参考解决方案(链接):

代码语言:javascript
运行
复制
V9m?>dNd0S9 (11 bytes)

问题2:

将所有数字和所有字母打印在单独的行上:

代码语言:javascript
运行
复制
0
...
9
a
...
z

参考解决方案(链接):

代码语言:javascript
运行
复制
VTN)VGN (7 bytes)

问题3:

查找字典上最小的回文,即在字典上大于或等于包含小写字母的输入字符串,且与输入字符串相同。

代码语言:javascript
运行
复制
a -> a
abc -> aca
adcb -> adda

参考解决方案(链接):

代码语言:javascript
运行
复制
hf&gTzqT_T^Glz (14 bytes)

问题4:

检查,如果一个数字在范围内[0,输入号码)。这也适用于浮标。

代码语言:javascript
运行
复制
4, 6 -> True
5.5, 6 -> True
6, 6 -> False
6, 6.1 -> True

参考解决方案(链接):

代码语言:javascript
运行
复制
&gQ0<QE (7 bytes)

参考格式是to be tested value<newline>end value。但是,您可以选择不同的输入格式。重要的是,完成问题陈述并产生正确的结果。

问题5:

解析格式"\d+阿-扎-Z+“的输入字符串。注意,这个数字实际上必须是一个数字,而不是一个包含数字的字符串。

代码语言:javascript
运行
复制
'123Test' -> [123, 'Test']

参考解决方案(链接):

代码语言:javascript
运行
复制
A.ggk\Az,sGH (12 bytes)

问题6:

计算由一个或多个逗号分隔的数字之和。您可以假设字符串中至少有一个数字。

代码语言:javascript
运行
复制
11,2,,,3,5,,8 -> 29

参考解决方案(链接):

代码语言:javascript
运行
复制
svM:z",+"3 (10 bytes)

问题7:

从输入中读取正整数,直到得到0。打印所有数字的和。

参考解决方案(链接):

代码语言:javascript
运行
复制
WJE=+ZJ)Z (9 bytes)

问题8:

总结方阵的所有元素,除了主对角线的元素(左上角到右下角)。

参考解决方案(链接):

代码语言:javascript
运行
复制
-ssQs.e@bkQ (11 bytes)
EN

回答 2

Code Golf用户

回答已采纳

发布于 2016-01-12 09:56:48

54字节

以下是预期的解决方案。除任务8外,所有解决方案均已找到。

  1. j.tmLdS9Z (9个字节)使用映射进行左映射、转置和填充零 2。\nMTjG (5个字节)为map 3使用换行符。h.f_IZ1z (8个字节)用.f 4. %IQE (4个字节)生成可能的字符串,找到了一个usecase,其中不变运算符需要2 parameters 5,J.vz-zJ (8字节) .v只计算字符串的第一条语句,忽略rest 6。(7字节) s"“=0 0 7. u+GE0 (5字节)减少,直到达到一个已知的number 8. ss.DVQUQ (8字节)使用矢量化删除对角线
票数 2
EN

Code Golf用户

发布于 2015-12-28 21:52:39

66字节

  1. 10字节:V9+mZN}hN9 2. 6字节:jUT)jG 3. 8字节:h.f_IZ1z 4. (参考实现)7字节:&gQ0<QE 5. 11字节:,sK-rzZG-zK 6. 7字节:ssMcz\, 7. 8字节:s<.Qx.QZ 8. 9字节:ss.eXbkZQ
票数 2
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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