挑战:
您将获得以10为底的数字。对于从10倒数到2的每个基数:
- 以原始输入数字为基数10的字符串,并删除该数字中对基数无效的所有数字。
- 解释在该基数中得到的数字字符串。如果给出1或0,则终止整个过程。
- 输出或打印其最大质数,以十进制数表示。
输出可以是最大素数的数组。
示例案例:
输入:
987654321
输出:
379721
10593529
1091
179
1493
293
19
7
交替:
[379721,10593529,1091,179,1493,293,19,7]
这将打印的987654321最大素数因子,87654321 9 = 42374116 10,7654321 8 = 2054353 10,依此类推,直到其达到1 2,在那里它停止。
2
我不清楚这个过程。我可能可以从示例中弄清楚,但是您应该有明确的说明,因此不需要这样做。因此,我们转换为较低的基数,删除无效数字,然后打印最大的素数?我们将这个因素印在什么基础上?然后,我们是否用最大的素数和较低的基数执行相同的过程?还是用我们考虑的数字来做?我们从10还是9开始?
—
xnor
欢迎光临本站!
—
DJMcMayhem
我尝试重写挑战以使其更加清晰。我希望这就是您的意图。如果没有,请随时进行更改。
—
xnor
我发现主要操作中最主要的因素是基本转换。许多语言只是通过内置的素因数分解直接执行此操作,而其他语言则基本上必须进行第二次单独的挑战。基本转换也是内置或无效的。当操作是内置的时,您希望它们成为高尔夫的通行之地,实际上分解和基本转换都是如此。尽管如此,对于第一个挑战还是有好处的,但是下一次要记住的事情。
—
xnor
这有可能受到Google Code Jam的启发吗?
—
Mego