让我们定义一类功能。这些函数将从正整数映射到正整数,并且必须满足以下要求:
该函数必须是双射的,这意味着每个值都映射到一个值,并被一个值恰好映射到。
您必须能够通过重复应用该函数或其反函数来从任何正整数到任何其他正整数。
现在,编写一些代码,在其输入上执行该类中的任何一个功能。
这是一个代码问题,因此答案将以字节计分,字节越少越好。
1
你能给我举个例子吗?
—
杰克
@Jack当然,考虑到1映射功能- > 2,映射每隔奇数到数减去2,和每个偶数到数加2
—
后摇滚Garf亨特
不确定我是否理解。f(x):= x + 1是此类的函数吗?在这种情况下,
—
MONODA43
1+
普通的Lisp应该可以解决问题。
@ MONODA43考虑所有整数时,该函数是双射。但是这个问题要求在正整数上有一个双射。您的建议将无法输出1,因为没有x + 1 = 1的正x。
—
kasperd
@Cowsquack 您必须能够通过重复应用该函数或其反函数来从任何正整数到任何其他正整数。无论重复多少次,都无法通过应用身份从1到2。
—
卡巴斯德(Kasperd)'17年