为什么3个TLE?

P1217 [USACO1.5] 回文质数 Prime Palindromes

Wyf32627 @ 2024-01-19 12:18:01


by Wyf32627 @ 2024-01-19 12:19:58

#include <bits/stdc++.h>
using namespace std;
int prime(int num)
{
    for(int i=2;i<num;i++)
    {
        if(num%i==0)
        {
            return false;
        }
    }
    return true;
}
int main()
{
    int a,b;
    cin>>a>>b;
    for(int i=a;i<=b;i++)
    {
        int n=0,o=i;
        while(o!=0)
        {
            n=n*10+o%10;
            o/=10;
        }
        if(n==i)
        {
            if(prime(i))
            {
                cout<<i<<endl;
            }
        }
    }
    return 0;
}

by Wyf32627 @ 2024-01-19 12:20:15

这是代码


by Addicted_Game @ 2024-01-19 12:39:34

有一个地方要注意,大于9989899后数据范围内是没有回文质数的,这需要卡一下


by Wyf32627 @ 2024-01-20 08:35:11

@nyHZT 谢谢帮忙,在DEV CPP上是对的,但还是三个TLE


by Wyf32627 @ 2024-01-23 15:17:49

有人帮我解决吗???


by lizeyuhello @ 2024-01-23 19:30:48

@Frank_world 我也3TLE


by 0x00dream @ 2024-01-23 19:35:40

@Frank_world 我也是三个TLE,死活弄不对,不知道错在哪里,这洛谷为什么没有答案呢,差评,垃圾


by Wyf32627 @ 2024-01-24 09:38:16

6


by _Eileen_42 @ 2024-01-26 18:10:47

我6个,已经人晕了TuT


by _Eileen_42 @ 2024-01-26 18:12:58

@Frank_world 有一个不一定能解决但可以尝试的方法,判断prime的for循环,最后让i < num/2,甚至极端一点 < sqrt(n) 就行,这样可以少判断一些,时间也许会少用一点


| 下一页