1 条题解

  • 9
    @ 2026-7-11 16:40:31
    #include <bits/stdc++.h>
    using namespace std;
    
    vector<int> split(int x) {
    	vector<int> ans;
    	while (x != 0) {
    		ans.push_back(x % 10);
    		x /= 10;
    	}
    	return ans;
    }
    
    bool isprime(int x) {
    	for (int f = 2; f * f <= x; f++) {
    		if (x % f == 0)
    			return false;
    	}
    
    	return true;
    }
    
    bool check(int x) {
    	vector<int> tmp = split(x);
    
    	for (int i = 0; i < tmp.size(); i++) {
    		if (tmp[i] != tmp[tmp.size() - 1 - i]) {
    			return false;
    		}
    	}
    
    	return isprime(x);
    }
    
    int main() {
    	int n;
    	cin >> n;
    
    	int ans = 0;
    
    	for (int i = 11; i <= n; i++) {
    		if (check(i))
    			ans++;
    	}
    
    	cout << ans;
    
    	return 0;
    }
    

    信息

    ID
    317
    时间
    1000ms
    内存
    128MiB
    难度
    2
    标签
    递交数
    53
    已通过
    35
    上传者