4 条题解
-
-1
如果你也跟我我一样TLE,那么这件事情真的是泰库……啊呸,回归正题
看到这题,我就想到先暴力每一个数,先判断素数,再判断回文数,这样太慢啦!喜得吉利分数66,但是不要怕,我会比你先WA的!
经过了114514个夜晚的苦思冥想,我终于想出来啦:先枚举范围内的回文数,在逐一判断素数,果仁AC了
核心代码:
for(int i=10;i<=99999;i++){//上限是9位,就枚举到9/2+1位 int tmp=i/10,k=i;//细节除以10,由于除了11,所有的偶数位数都不是素数 while(tmp)k=k*10+tmp%10,tmp/=10;//创造奇数位回文数 if(x<=k&&k<=y&&is_prime(k))//代码区: 提示:将符合的数加入数组;//判断是否在范围内 }
(记得特判1位数和两位数,我的代码还是可以优化的)
信息
- ID
- 1001
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 7
- 标签
- 递交数
- 320
- 已通过
- 62
- 上传者