回文素数
素数判断函数:
定义一个函数,接收一个整数作为参数,在函数内部,从2开始到该数的平方根(取整),依次用取余运算判断能否整除当前参数,如果都不能整除,返回 true,表示是素数,否则返回 false。
回文数判断函数:
可以采用两种方式,一种是将整数先转换为字符串,然后利用双指针(一个指向字符串开头,一个指向末尾)同时向中间移动,比较对应字符是否相等,如果都相等则是回文数;另一种是不借助字符串,通过数学运算,不断取出原数的末尾数字,构建出反转后的数字,最后对比原数和反转后的数字是否相等来判断是否为回文数。这里以第二种方式举例。
定义一个函数,接收一个整数作为参数,先处理特殊情况(如负数等),然后利用循环取出末尾数字构建反转数,最后比较原数和反转数是否相等,相等则返回 true,表示是回文数,否则返回 false。
代码#include
#include
using namespace std;
// 判断是否为素数的函数
bool isPrime(int num) {
if (num < 2) return false;
for (int i = 2; i <= sqrt(num); ++i) {
if (num % i == 0) return false;
}
return true;
}
// 判断是否为回文数的函数
bool isPalindrome(int num) {
int original = num;
int reversed = 0;
while (num > 0) {
reversed = reversed * 10 + num % 10;
num /= 10;
}
return original == reversed;
}
int main() {
int start, end;
cout << "请输入起始整数: ";
cin >> start;
cout << "请输入结束整数: ";
cin >> end;
cout << "在 " << start << " 到 " << end << " 范围内既是素数又是回文数的有: ";
for (int n = start; n <= end; ++n) {
if (isPrime(n) && isPalindrome(n)) {
cout << n << " ";
}
}
cout << endl;
return 0;
}
定义一个函数,接收一个整数作为参数,在函数内部,从2开始到该数的平方根(取整),依次用取余运算判断能否整除当前参数,如果都不能整除,返回 true,表示是素数,否则返回 false。
回文数判断函数:
可以采用两种方式,一种是将整数先转换为字符串,然后利用双指针(一个指向字符串开头,一个指向末尾)同时向中间移动,比较对应字符是否相等,如果都相等则是回文数;另一种是不借助字符串,通过数学运算,不断取出原数的末尾数字,构建出反转后的数字,最后对比原数和反转后的数字是否相等来判断是否为回文数。这里以第二种方式举例。
定义一个函数,接收一个整数作为参数,先处理特殊情况(如负数等),然后利用循环取出末尾数字构建反转数,最后比较原数和反转数是否相等,相等则返回 true,表示是回文数,否则返回 false。
代码#include
#include
using namespace std;
// 判断是否为素数的函数
bool isPrime(int num) {
if (num < 2) return false;
for (int i = 2; i <= sqrt(num); ++i) {
if (num % i == 0) return false;
}
return true;
}
// 判断是否为回文数的函数
bool isPalindrome(int num) {
int original = num;
int reversed = 0;
while (num > 0) {
reversed = reversed * 10 + num % 10;
num /= 10;
}
return original == reversed;
}
int main() {
int start, end;
cout << "请输入起始整数: ";
cin >> start;
cout << "请输入结束整数: ";
cin >> end;
cout << "在 " << start << " 到 " << end << " 范围内既是素数又是回文数的有: ";
for (int n = start; n <= end; ++n) {
if (isPrime(n) && isPalindrome(n)) {
cout << n << " ";
}
}
cout << endl;
return 0;
}
全部评论
相关推荐
点赞 评论 收藏
分享
10-28 16:00
大连理工大学 Java 点赞 评论 收藏
分享