反转您的代码,反转OEIS


12

这里的任务是编写一个程序,该程序采用自然数ñ并产生OEIS序列的第个项。该序列应具有后跟6位数字的形式的标识符。现在,当您获取源代码并反转其字节顺序以生成新程序时,该程序还应实现OEIS序列。新序列应由后跟与上次相同的6位数字标识,但顺序相反(包括前导零)。ñAA

现在,为了避免琐碎事情,OEIS标识符号或程序都不能成为回文。也就是说顺序和程序应该不同。您不能选择一个反向序列不存在或为空的序列。

对于每个序列,您可以选择使用0或1索引。他们不必使用相同的索引。由于某些OEIS序列的域有限,因此您只需要为序列的域输出正确的数字即可。您需要的行为在域外是不确定的(您可以输出0,崩溃,订购比萨饼等)。

这是因此答案将以字节计分,而字节越少越好。


序号反转中是否包含前导零?
pppery

1
@pppery必须如此,因为OEIS编号正好有6位数字。(问题中也明确指出了这一点)
约翰·金

我们可以将输入(索引)作为字符串吗?
TF

Answers:



4

Perl 6、55个字节(A055642和A246550)

+*.comb#}]1-_$[)4+_$^**X]_$^[)*..2,emirp-si&(perg(tros{

在线尝试!

ñ

{sort(grep(&is-prime,2..*)[^$_]X**^$_+4)[$_-1]}#bmoc.*+

在线尝试!

XËXË4

这个挑战中的大多数只是找到一个好的序列,而反向并不复杂。

更新:使用torcado的答案,这可以是19个字节(A010851和A158010)

{256*$_**2-$_}#{21}

在线尝试!


2

\ / \ />15个 14字节(A010851A158010

cn;n*-1*"Ā":j

有效cn输出12

j:"Ā"*1-*n;nc

有效地j:"Ā"*1-*n,n(256n-1)

感谢朋友找到难以置信的简单序列!


1

Haskell,47个字节(A000010A010000

两种序列都相对简单。

p n=sum[1|x<-[1..n],gcd x n<2]--2+n*n=n p;1=0 p

在线尝试!

p n = n的Euler上位函数(A000010)(1索引)

反转:

p 0=1;p n=n*n+2--]2<n x dcg,]n..1[-<x|1[mus=n p

在线尝试!

p n 如果n = 0,则= 1;否则,n ^ 2 + 2

看到一个不使用评论的答案会很有趣...


1

Python 2、59个字节(A030000和A000030)

f=lambda n,k=0:k if`n`in`2**k`else f(n,k+1)#]0[`n`:n adbmal

在线尝试!

fķ2ķñ

lambda n:`n`[0]#)1+k,n(f esle`k**2`ni`n`fi k:0=k,n adbmal=f

在线尝试!

ñ


较短的版本,将字符串作为输入(对于两个序列),并且两个索引均仍为0索引:

Python 2,56个字节

f=lambda n,k=0:`k`*(n in`2**k`)or f(n,k+1)#]0[n:n adbmal

在线尝试!

lambda n:n[0]#)1+k,n(f ro)`k**2`ni n(*`k`:0=k,n adbmal=f

在线尝试!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.