小编Hud*_*son的帖子

如何在给定范围内生成素数回文而不完全搜索它并使用检查函数?

我已经看到过这个问题的以前的解决方案,但它都是带有检查功能的完整搜索,对我来说不够快。

我正在开发一个 C++ 程序,试图在给定的整数范围内高效地生成所有素数回文。对于主要部分,我通过消除 2 和 3 的所有倍数来减少我测试的除数,从而创建了一个快速素数测试器,不过这里的改进建议也将受到赞赏(函数粘贴在下面)。

我的主要问题是我需要足够快地生成回文,而不使用传统的完整搜索和回文测试来缓慢增加测试的整数。我当前的搜索代码和素性测试粘贴在下面。

我尝试增加中间数字的数字,然后增加外部数字的数字,但是因为随着时间的推移,会添加更多的数字,我什至无法拼凑出一个算法。

素性测试:

bool CheckPrime(int n){
    switch (n) {
    case 1: return false;  break;
    case 2: return true;  break;
    case 3: return true;  break;
    default: break;
    }
    if (n % 2 == 0 || n % 3 == 0) {
        return false;
    }
    for (int i = 5; i * i <= n; i = i + 6) {
        if (n % i == 0 || n % (i + 2) == …
Run Code Online (Sandbox Code Playgroud)

c++ primes palindrome coding-efficiency

5
推荐指数
1
解决办法
276
查看次数

标签 统计

c++ ×1

coding-efficiency ×1

palindrome ×1

primes ×1