请教!!66分
查看原帖
请教!!66分
1214142
66QwQ99楼主2023/12/2 21:01
#include <stdio.h>
#include <stdbool.h>

bool is_palindrome(int num) {
	int reversed = 0;
	int original = num;

	while (num > 0) {
		int digit = num % 10;
		reversed = reversed * 10 + digit;
		num /= 10;
	}

	return original == reversed;
}

int isprime(int i) {
	int ret = 1;
	int x;
	for (x = 2; x * x <= i; x++) {
		if (i % x == 0) {
			ret = 0;
			break;
		}
	}
	return ret;
}

int main() {
	int b, number, a;
	scanf("%d %d", &a, &b);
	int prime[b];
	int cnt = 0, cnt1 = 0;
	for (number = a; number <= b; number++) {
		if (isprime(number)) {
			prime[cnt++] = number;
		}
	}
	for (int n = 0; n < cnt ; n++) {
		if (is_palindrome(prime[n]))
			printf("%d \n", prime[n]);
	}
	return 0;
}

超时了,怎么办,哪里可以精简呢

2023/12/2 21:01
加载中...