求助dalao : 为什么TLE
查看原帖
求助dalao : 为什么TLE
338117
CWJ1029楼主2020/4/30 11:43
#include <bits/stdc++.h> /* 万能头文件 */
using namespace std;

const int MAX = 100000000;
bool prime[MAX + 5] , n , m; /* prime数组用来打表 */

void isPrime() /* 筛法算质数 */
{
    memset(prime , true , sizeof(prime));
    prime[1] = false;
    for (int i = 1; i <= MAX; i++)
    {
        if (prime[i])
        {
            for (int j = 2; i * j<=MAX;j++)
            {
                prime[i * j] = false;
            }
        }
    }
}

bool isPalindrome(int x) /* 回文数函数 */
{
    int tmp = x , y = 0;
    while (tmp > 0)
    {
        y = y * 10 + tmp % 10;
        tmp /= 10;
    }
    if (x == y) return true;
    else return false;
}

int main()
{
    isPrime();
    scanf("%d%d" , &n , &m);
    for (int i = n; i <= m; i++)
    {
        if (prime[i] && isPalindrome(i))printf("%d" , i); /* 输出回文质数*/
    }
    return 0;
}
2020/4/30 11:43
加载中...