This question already has answers here:

Algorithm to find Lucky Numbers
(10个答案)
可能重复:
Algorithm to find Lucky Numbers
我遇到了这个问题,如果一个数的位数和,以及它的位数平方和是质数,那么这个数就叫做幸运数。A和B之间有多少数字是幸运的?1<=A<=B<=10^18。
我试过了,
首先,我生成了所有可能的素数,这些素数介于1和平方和(81*18=1458)之间。
然后验证每个数字的数字和和和和和平方和在素数的列表中,如果是这样的话,它是幸运的,否则就不是但这是非常缓慢的有更好的解决办法吗?

最佳答案

看看我在这里解释得很好的解决方案:Algorithm to find Lucky Numbers(请注意-您的问题是这个问题的副本)。

关于java - 是否幸运数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9249568/

10-12 19:30