从(所有整数的集合)到(例如,恒等函数)创建双射函数是很简单的。ž
也可以创建从到(所有2对整数的集合;和的笛卡尔积)的双射函数。例如,我们可以使用表示2D平面上整数点的晶格,从0向外绘制螺旋,然后将整数对编码为与该点相交时沿螺旋的距离。Z 2 Z Z
(使用自然数执行此操作的功能称为配对功能。)
实际上,存在以下一系列双射函数:
挑战
使用双射将整数映射到个整数元组的属性,定义函数(其中是一个正整数)。k f k(x )k
给定输入和,您的提交应返回。x f k(x )
这是代码高尔夫球,因此最短的有效答案(以字节为单位)获胜。
技术指标
- 只要满足上述条件,就可以使用任何家族。
- 鼓励您添加有关函数系列工作方式的描述,以及用于计算函数反函数的代码段(这不包括在字节数中)。
- 如果反函数不可计算就可以,只要您可以证明它是双射的即可。
- 您可以对语言的带符号整数和带符号整数列表使用任何合适的表示形式,但是必须允许对函数的输入是无界的。
- 您只需要支持最大127 的值。
k
和x
代替整数吗?