【C语言】最后一个测试点超内存 求大佬指点

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

mapple @ 2022-12-18 20:54:36

#include<stdio.h>
#include<math.h>
int zhishushai(int m);
int main()
{
    int a,b,i,t,sum=0;
    scanf("%d%d",&a,&b);
    int z[b+1],n,j;
    for(i=0;i<=b;i++)
    {
        z[i]=1;
    }
    z[1]=0;
    for(i=2;i<=b;i++)
    {
        if(z[i])
        {
            n=2;
            for(j=i;j*n<=b;n++)
            {
                z[j*n]=0;
            }
        }
    }
    for(i=a;i<=b;i++)
    {
        sum=0;
        t=i;
        while(t!=0)
        {
            sum=sum*10+t%10;
            t=t/10;
        }
        if(sum==i)
        {
            if(z[i]==1)
            {
                printf("%d\n",i);
            }
        }
    }   
    return 0;
} 

by pi3141592 @ 2022-12-18 21:09:00

MIE请用vertor

vertor<int> z;

by pi3141592 @ 2022-12-18 21:09:49

还有无用函数请删除


by cainiaoshanglu @ 2022-12-18 21:14:39

@fanghaiming

1.大概是vector罢

2.lz说了是C语言,vector是C++的特性,估计用不了罢


by FFTotoro @ 2022-12-18 21:40:17

@fanghaiming 首先 vector 是 C++ 的。

其次是 vector 不是什么 verter,不懂不要乱发言,很容易误导他人的。


by FFTotoro @ 2022-12-18 21:41:06

@mapple b\le 10^9

数组存不下这么多,需要处理技巧。


by FFTotoro @ 2022-12-18 21:43:04

@fanghaiming 还有 MLE 用的也不是 vector 应该是 map 吧,你试试 vector 行吗?分分钟给你爆掉。


by HYliumingxuan @ 2022-12-21 08:53:25

可以用bool


by Lucas2024 @ 2022-12-25 17:04:30

@fanghaiming 是MLE


|