题解
【入门】素数回文数
1 条题解
-
0
解题思路
枚举范围内的数,先判断是否为素数,再判断它倒过来是否仍然相同。
参考代码
// 这道题的做法:先读入题目给出的数据,再用简单的循环和判断完成要求。 #include <iostream> #include <cmath> using namespace std; //素数判断函数 是返回1 不是返回0 int f(int x) { for(int i=2;i<=sqrt(x);i++) if(x%i==0) return 0; return 1; } //判断是否是回文数 是返回1 不是返回0 int g(int x) { int t=0,x1=x; while(x) { t=t*10+x%10; x/=10; } if(x1==t) return 1; else return 0; } int main() { int n,k=0; for(int i=10;i<=1000;i++) if(f(i)&&g(i)){ cout<<i<<endl; } }复杂度
代码只使用了简单变量、循环和判断。若循环检查了 n 个数据,时间复杂度通常为 O(n);没有开辟与输入规模相关的额外数组时,空间复杂度为 O(1)。
- 1