866. 回文素数

没有长度为8的素数

class Solution {
public:

    bool huiwen(int x)
    {
        int a[9], cnt = 0;
        while(x)
        {
            int tmp = x % 10;
            a[cnt++] = tmp;
            x /= 10;
        }
        int i = 0, j = cnt - 1, flag = 0;
        while(i < j)
        {
            if(a[i] != a[j])
            {
                return 0;
            }
            i++, j--;
        }
        return 1;
    }
    bool prime(int x)
    {
        int tmp = sqrt(x);
        for(int i = 2; i <= tmp; i++)
        {
            if(x % i == 0) return 0;
        }
        return 1;
    }

    int primePalindrome(int n) {
        int ret;
        if(n == 1) return 2;

        for(int i = n; i <= 200000000; i++)
        {
            if(i > 10000000 && i < 100000000) continue;
            if(huiwen(i))
            {
                if(prime(i))
                {
                    ret = i;
                    break;
                }
            }
        }
        return ret;
    }
};

 

posted @ 2022-01-19 12:06  WTSRUVF  阅读(23)  评论(0)    收藏  举报