描述: 判断一个数是否为对称且不大于五位数的素数。 输入: 输入数据两行,第一行一个整数n ,满足1<n<60 。 第二行有n 个的正整数x (0<x<232) ,以空格分隔。 输出: 对于每个x,如果该数是不大于五位数的对称素数,则输出“Yes”,否则输出“No”。每个判断结果单独列一行。 样例输入: 3 11 101 272 样例输出: Yes Yes No用c语言写代码
时间: 2023-05-27 14:05:15 浏览: 88
RSA.rar_RSA算法
#include <stdio.h>
#include <math.h>
int isPrime(int n) { // 判断素数
if (n <= 1) return 0;
int sqr = (int)sqrt(n);
for (int i = 2; i <= sqr; i++) {
if (n % i == 0) return 0;
}
return 1;
}
int isSymmetric(int n) { // 判断对称数
int a[10], len = 0;
while (n) {
a[len++] = n % 10;
n /= 10;
}
for (int i = 0; i < len / 2; i++) {
if (a[i] != a[len - 1 - i]) return 0;
}
return 1;
}
int main() {
int n;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
int x;
scanf("%d", &x);
if (isPrime(x) && isSymmetric(x)) printf("Yes\n");
else printf("No\n");
}
return 0;
}
阅读全文