社区讨论

88求调

P1217[USACO1.5] 回文质数 Prime Palindromes参与者 2已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@mllm67gy
此快照首次捕获于
2026/02/14 09:04
5 天前
此快照最后确认于
2026/02/17 11:15
前天
查看原帖
我有0、11、22、66、88分代码,分别是:
CPP
//0
#include<bits/stdc++.h>
using namespace std;
bool hw(string n) {
    stack<char>s;
    for(int i = 0; i <= n.length()/2; i++) {
        s.push(n[i]);
    }
    for(int i = ceil(n.length()/2.0); i < n.length(); i++) {
        if(s.top() != n[i]) {
            return 0;
        }
        s.pop();
    }
}
bool ss(int n) {
    if(n <= 1) {
        return 0;
    }
    for(int i = 2; i*i <= n; i++) {
        if(!(n % i)) {
            return 0;
        }
    }
    return 1;
}
int main() {
    int mx, mn;
    cin >> mx >> mx;
    for(int i = mn; i <= mx; i++) {
        if(ss(i) && hw(to_string(i))) {
            cout << i << endl;
        }
    }
    return 0;
}
CPP
//11
#include <bits/stdc++.h>
using namespace std;
bool ip(int n){
	if(n < 2) {
        return 0;
    }
    if(!(n % 2)) {
        return 0;
    }
	for(int i = 3; i * i <= n; i += 2){
		if(!(n % i)) {
            return 0;
        }
	}
	return 1;
}
int gp(int n){
	string s1 = to_string(n);
	string s2 = s1;
	s1.pop_back();
	reverse(s2.begin(), s2.end());
	s1 += s2;
	return stoi(s1);
}
int main(){
    int n, m;
    cin >> n >> m;
    if(n <= 5) {
        cout << 5 << endl;
    }
    if(n <= 7) {
        cout << 7 << endl;
    }
    if(n <= 11) {
        cout << 11 << endl;
    }
    for(int i = 1; i <= m; i++){
        int j = gp(i);
        if(n <= j && m >= j && ip(j)) {
            cout << j << endl;
        }
    }
	return 0;
}
CPP
//22
#include <bits/stdc++.h>
using namespace std;
bool ip(int n){
	if(n < 2) {
        return 0;
    }
    if(!(n % 2)) {
        return 0;
    }
	for(int i = 3; i * i <= n; i += 2){
		if(!(n % i)) {
            return 0;
        }
	}
	return 1;
}
int gp(int n){
	string s1 = to_string(n);
	string s2 = s1;
	s1.pop_back();
	reverse(s2.begin(), s2.end());
	s1 += s2;
	return stoi(s1);
}
int main(){
    int n, m;
    cin >> n >> m;
    if(n <= 5) {
        cout << 5 << endl;
    }
    if(n <= 7) {
        cout << 7 << endl;
    }
    if(n <= 11) {
        cout << 11 << endl;
    }
    for(int i = 10; i <= m; i++){
        int j = gp(i);
        if(n <= j && m >= j && ip(j)) {
            cout << j << endl;
        }
    }
	return 0;
}
CPP
//66
#include <bits/stdc++.h>
using namespace std;
bool ip(int n){
    if(!(n % 2)) {
        return false;
    }
	for(int i = 3; i * i <= n; i += 2){
		if(!(n % i)) {
            return false;
        }
	}
	return true;
}
bool gp(int n){
	string s1 = to_string(n);
	string s2 = s1;
	reverse(s2.begin() , s2.end());
    // cout << s1 << "  "<< s2 << "  " << s1.compare(s2) << endl;  
	return s1.compare(s2) == 0;
}
int main(){
    int n, m;
    cin >> n >> m;
    if(n <= 5) {
        cout << 5 << endl;
    }
    if(n <= 7) {
        cout << 7 << endl;
    }
    if(n <= 11) {
        cout << 11 << endl;
    }
    for(int i = n; i <= m; i++){
        if(gp(i) && ip(i)) {
            cout << i << endl;
        }
    }
	return 0;
}
CPP
//88
#include <bits/stdc++.h>
using namespace std;
bool ip(int n)
{
    if (n % 2 == 0)
    {
        return false;
    }
    for (int i = 3; i * i <= n; i += 2)
    {
        if (n % i == 0)
        {
            return false;
        }
    }
    return true;
}
bool gp(int n)
{
    string s1 = to_string(n);

    if (s1.size() % 2 == 0 && n % 11 == 0)
    {
        return true;
    }

    char lc = s1.at(s1.size() - 1);
    if (lc == '0' || lc == '2' || lc == '4' || lc == '5' || lc == '6' || lc == '8')
    {
        return false;
    }

    string s2 = s1;
    reverse(s2.begin(), s2.end());
    // cout << s1 << "  "<< s2 << "  " << s1.compare(s2) << endl;
    return s1.compare(s2) == 0;
}
int main()
{
    int n, m;
    cin >> n >> m;

    for (int i = n; i <= m; i++)
    {
        if (i == 5 || i == 7 || i == 11)
        {
            cout << i << endl;
            continue;
        }

        if (gp(i) && ip(i))
        {
            cout << i << endl;
        }
    }
    return 0;
}

回复

4 条回复,欢迎继续交流。

正在加载回复...