mzk_c_yy @ 2023-08-15 15:44:34
#include <stdio.h>
int is_prime(int i) {
for (int n = 2; n * n <= i; n++) {
if (i % n == 0) {
return 0;
}
}
return 1;
}
int is_palindrome(int i) {
int reverse = 0;
int n = i;
while (i > 0) {
int left = i % 10;
reverse = reverse * 10 + left;
i /= 10;
}
return (n == reverse);
}
int is_number(int i) {
return (is_prime(i) && is_palindrome(i));
}
int main() {
int a=0;
int b=0;
scanf("%d%d",&a,&b);
for (int i = a; i <= b; i++) {
if (is_number(i)) {
printf("%d\n", i);
}
}
return 0;
}
by Rainber @ 2023-08-15 15:54:31
这题要用素数筛吧
by mzk_c_yy @ 2023-08-15 16:10:39
@BillsgWu is_prime(int i)就是在选素数
by Rainber @ 2023-08-15 16:16:00
@mzk_c_yy 素数筛法,不是判断素数,可以搜一下
by mzk_c_yy @ 2023-08-15 16:31:54
我在这个函数```c int is_number(int i) { return (is_prime(i) && is_palindrome(i)); }
只有是素数并且是回文数才会返回呀
by Rainber @ 2023-08-15 19:56:56
欧拉筛法,实在不会埃式筛法也行,不是你想的那个,还有,下次找我at我一下
by Rainber @ 2023-08-15 20:11:59
@mzk_c_yy