4 条题解

  • -1
    @ 2023-5-28 20:03:34

    如果你也跟我我一样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
    上传者