首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >旋转对称数

旋转对称数
EN

Code Golf用户
提问于 2016-04-15 19:31:47
回答 18查看 7.8K关注 0票数 36

给定一个整数,输出一个特鲁西值,如果它是相同的颠倒(旋转180°)或虚妄值,否则。

018具有旋转对称性。6变成9,反之亦然。

产生真实结果的数字序列:OEIS A000787

代码语言:javascript
运行
复制
0, 1, 8, 11, 69, 88, 96, 101, 111, 181, 609, 619, 689, 808, 818, 888, 906, 916, 986, 1001, 1111, 1691, 1881, 1961, 6009, 6119, 6699, 6889, 6969, 8008, 8118, 8698, 8888, 8968, 9006, 9116, 9696, 9886, 9966, 10001, 10101, 10801, 11011, 11111, 11811, 16091, ...

这个问题的灵感来源于我在发帖时的声誉:6009

EN

回答 18

Code Golf用户

回答已采纳

发布于 2020-12-23 07:11:46

05AB1E,12字节

代码语言:javascript
运行
复制
žhÀ•yΘOñ•‡RQ

在网上试试!

不知何故,我设法击败了阿德南的05AB1E回答lol。这

解释了

代码语言:javascript
运行
复制
žhÀ             # Push "1234567890"
   •yΘOñ•       # Push "1000090860"
         ‡      # Transliterate the input based upon the previous two strings
          RQ    # Check if the reverse of that equals the input
票数 6
EN

Code Golf用户

发布于 2016-04-15 21:38:15

Python2,50字节

代码语言:javascript
运行
复制
lambda n:`n`==`map('01xxxx9x86'.find,`n`)`[-2::-3]

方法'01xxxx9x86'.find取一个数字字符到它的颠倒数字,任何不可翻转的数字给出-1。此函数映射到反向数字字符串,生成一个数字列表。

这是与[1::3]把戏一起转换成一个字符串的,但通过执行[-2::-3] (这要感谢丹尼斯,节省了4个字节),并与原始的数字字符串进行比较,它是相反的。任何-1's从不可翻转的数字将错对齐转换,使它失败。

56字节:

代码语言:javascript
运行
复制
lambda n:`n`[::-1]==`n`.translate('01xxxx9x86______'*16)

检查颠倒的数字字符串是否与颠倒的替换相同。不能翻转的数字将被'x'替换为总是给出错误的答案。

替换是在256个字符的字符串上使用translate完成的,替换了相应的ASCII值。只有10个值4857物质,但我填充到长度16,使总长度为256。我想知道有没有更短的路。

其他一些办法(长度59、60、60):

代码语言:javascript
运行
复制
lambda n:set(zip(`n`,`n`[::-1]))<=set(zip('01896','01869'))
r=lambda s:set(zip(s,s[::-1]));lambda n:r(`n`)<=r('9018106')
lambda n:all(a+b in'001188969'for a,b in zip(`n`,`n`[::-1]))
票数 15
EN

Code Golf用户

发布于 2022-08-15 00:27:56

骑士,70字节

代码语言:javascript
运行
复制
;=p=sP;=a'';Ws;=a+I|?54=bAs?57bA-111bI||?48b?49b?56bAb''a=sSsF1''O?a p

处理字符串对骑士来说是一种痛苦

在网上试试!

测试套房

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

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

复制
相关文章

相似问题

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