社区讨论

求大佬验题

灌水区参与者 3已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
6 条
当前快照
1 份
快照标识符
@lwbrzo7i
此快照首次捕获于
2024/05/18 15:17
2 年前
此快照最后确认于
2024/05/18 17:37
2 年前
查看原帖
自己出的题 ,下面是自己写的标准答案,求大佬帮忙检查对不对,如果对的话我就着手扩充测试点了
CPP
#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;
}

回复

6 条回复,欢迎继续交流。

正在加载回复...