写代码5分钟, 改代码两小时
因为超时改了快半个小时我也是吐了
#include<stdio.h>
#include<ctype.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
int isprime( int n){
int i, k = sqrt(n);
if (n < 2)
return 0;
else if ( n == 2)
return 1;
else {
for ( i = 2; i <= k; i++){
if (n%i == 0)
return 0;
}
}
return 1;
}
int huiwen(int num){
int i, j, cnt = 0, temp = num, flag = 1;
while(temp){
cnt++;
temp /=10;
}
temp = num;
if (cnt == 1)
return 1;
int arr[cnt];
for ( i = 0; i < cnt; i++){
arr[i] = temp%10;
temp /= 10;
}
for ( i = 0; i < cnt; i++){
j = cnt - i - 1;
if ( arr[i] != arr[j])
flag = 0;
}
return flag;
}
int main(){
long long a, b, i;
scanf("%ld %ld", &a, &b);
for ( i = a; i <= b; i++){
if ( i%2 != 0){
if (huiwen(i)){
if (isprime(i))
printf("%ld\n", i);
}
}
if ( i == 9989899)
break;
}
return 0;
}
这里我用了判断素数,和判断回文数的函数,没写制造回文数的函数,想了解请移步洛谷官方网站