自己出的题 ,下面是自己写的标准答案,求大佬帮忙检查对不对,如果对的话我就着手扩充测试点了
#include<iostream>
#include<string.h>
#include<math.h>
using namespace std;
int a,cnt;
string request[105];
int find(string s){
for(int i = 0;i < s.size();i ++){
if(s[i] == 'o')return i;
}
return 0;
}
bool isPrime(int x){
if(x <= 1)return false;
for(int i = 2;i <= sqrt(x);i ++){
if(x % i == 0)return false;
}
return true;
}
bool ok(int k){
int a[10],i = 0;
while (k > 0){
a[i] = k % 10;
k /= 10;
i ++;
}
for(int j = 0;j < i;j ++){
if(a[j] != a[i - j - 1])return false;
}
return true;
}
int main(){
scanf("%d",&a);
for(int i = 0;i <= a;i ++){
getline(cin,request[i]);
cnt += find(request[i]);
}
if(ok(cnt) && isPrime(cnt))printf("true");
else printf("false");
return 0;
}