在xnor提出的挑战中,我们被要求实现XOR乘法。在这一挑战中,目标是找到第一个n
XOR素数。从以下定义可以看出,XOR素数与常规素数非常相似:
质数的定义:大于1的正数,除非将1与自身相乘,否则不能通过将两个数相乘而形成。
XOR质数的定义:大于1的正数,除非通过1与自身的XOR乘积,否则不能通过两个数的XOR乘积来形成。注意,XOR质数组成oeis序列A014580。
XOR乘法定义为不带进位的二进制长乘法。您可以在xnor的Challenge中找到有关XOR乘法的更多信息。
输入:
一个整数n
。
输出:
第一个n
XOR素数。
以下是500以下的XOR素数:
2 3 7 11 13 19 25 31 37 41 47 55 59 61 67 73 87 91 97 103 109 115 117 131 137 143 145 157 167 171 185 191 193 203 211 213 229 239 241 247 253 283 285 299 301 313 319 333 351 355 357 361 369 375 379 391 395 397 415 419 425 433 445 451 463 471 477 487 499
嗯,挑战到底是什么?最短的代码?最快的代码?
—
Eumel 2015年
@Eumel标签是代码高尔夫,因此默认的最短代码(以字节为单位)。
—
Mego 2015年
F_2[x]
。