回文素数
程序员文章站
2024-03-21 15:14:58
...
输出1000以内的回文素数
回文素数:对一个整数n(n≥11)从左向右和从右向左读其结果值相同且是素数
思想:先判断整数n是否为素数,若为素数再判断其相应位数是否相同
#include<iostream>
using namespace std;
//将1000以内的数的回文素数输出
//回文素数:对一个整数n(n≥11)从左向右和从右向左读其结果值相同且是素数
//判断一个数是否为素数
int isPrime(int i) {
int j, count = 0;
if (i == 1) {
return 0;
}
if (i == 2) {
return 1;
}
j = (int)sqrt(i);
for (int k = 2; k < j; k++) {
if (i % k == 0) {
count++;
}
}
if (count == 0) {
return 1;
}
else {
return 0;
}
}
//主函数
int main() {
int i;
for ( i = 10; i < 1000; i++) {
if (isPrime(i) == 1) {
if (i / 100 == 0) {
//两位数
int one = i % 10;
int ten = i / 10 % 10;
if (one == ten) {
cout << i << endl;
}
}
else if (i/1000==0) {
int one = i % 10;
int hundred = i / 100 % 10;
if (one == hundred) {
cout << i << endl;
}
}
}
}
return 0;
}
运行结果