计蒜客信息学8月普及组模拟赛B-DD爱数数

题目大意:区间[l, r]有多少个回文素数?

1、暴力枚举
2、先判断回文,再判断素数:回文判断复杂度稳定且不超时。
3、判断素数,只需要枚举到sqrt(n)

#include <bits/stdc++.h>
using namespace std;
int n, m, i, j, k, x, y;
int hui(int x){
    int i, n=0, a[9]={0};
    while(x) a[++n] = x%10, x /= 10;
    for(i=1; i<=n-i+1; i++){
        if(a[i] != a[n-i+1]) return 0;
    }
    return 1;
}
int su(int x){
    if(x < 2) return 0;
    for(int i=2; i*i<=x; i++){
        if(x%i == 0) return 0;
    }
    return 1;
}
int main(){
    scanf("%d%d", &x, &y);
    for(i=x; i<=y; i++){
        if(hui(i) && su(i)) n++;
    }
    printf("%d\n", n);
    return 0;
}
全部评论

相关推荐

爱吃肉的伊登在写日记:好棒,27届简历能做成这个样子,但是第一个项目感觉cover住难度还是不小的,特别是二面的时候肯定要对分布式系统设计这一块儿有高出正常面试者的水平才行
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务