好久不做这种签到题,突然发现写了小bug的能力简直突飞猛进Orz,
#include<iostream>
#include <string.h>
#include<stdio.h>
using namespace std;
typedef long long ll;
int prime[100005];
int visit[100005];
int cnt = 0;
void init_prime() {
memset(visit,0,sizeof(visit));
for (int i = 2; i < 100005; i++) {
if (visit[i] != 1) {
prime[cnt++] = i;
for (int j = i+i; j < 100005; j += i) {
visit[j] = 1;
}
}
}
}
bool is_prime(int a) {
for (int i = 2; i <= a / 2; i++) {
if (a % i == 0)
return false;
}
return true;
}
bool judge_pa(const string &tmp) {
int right = tmp.length() - 1;
if (right == 0)
return true;
for (int i = 0; i <= tmp.length() / 2; i++) {
if (tmp[i] != tmp[right])
return false;
right--;
}
return true;
}
int transfer2int(const string &tmp) {
int ans = 0, k = 1;
for (int i = tmp.length() - 1; i >= 0; i--) {
ans += (tmp[i] - '0') * k;
k *= 10;
}
return ans;
}
int main() {
string str_list[5];
init_prime();
//for (int i=0;i<cnt;i++)
// cout<<prime[i]<<endl;
while(cin>>str_list[0]) {
for (int i = 1; i < 5; i++) {
cin >> str_list[i];
}
for(int i = 0; i < 5; i++) {
if (str_list[i].length() > 5)
puts("No");
else {
if (judge_pa(str_list[i]) && visit[transfer2int(str_list[i])] == 0)
puts("Yes");
else
puts("No");
}
}
}
return 0;
}
涨姿势,单字符也算回文串,wa了好半天