有没有好人帮我解答一下为啥会超时啊

? · 发布于 2026-02-09 · 浏览 327 回复 2

include<bits/stdc++.h>

using namespace std; long long x, y, a, b, c, d, e;

int main() {

cin >> x >> y;

for (long long i = x; i <= y; i++) {
    long long  t = i;
    long long  w = 0;
    while (t > 0) {
        w = w * 10 + t % 10;
        t = t / 10;
    }
    if (w != i){
    	continue;
	}
    long long z = 1;
    if (i < 2) {
    z = 1;	
	}
    for (long long k = 2; k * k <= i; k++) {
        if (i % k == 0) {
            z =0;
            break;
        }
    }
    
    if (z){
    	cout << i << endl;
	} 
}

return 0;

}

全部回复 共 2 条

  1. 王治国很勇敢 #1 ·

    大于1000000就没有回文质数了

  2. xhy #2 ·

    include <bits/stdc++.h>

    using namespace std;

    int main() {

    int a, b;
    cin >> a >> b;
    
    for (int i = a; i <= b; i++) {
    
    	int n = i;
    	int sum = 0;
    
    	while (n != 0) {
    		int x = n % 10;
    		n /= 10;
    		sum *= 10;
    		sum += x;
    	}
    
    	**if (i > 10000000)
    		break;//**这里**
    
    	if (i == sum) {
    		bool f = true;
    
    		for (int j = 2; j * j <= i; j++) {
    
    			if (i % j == 0) {
    				f = false;
    				break;
    			}
    		}
    
    		if (f) {
    			cout << i << endl;
    		}
    	}
    }
    
    return 0;
    

    }

发表回复