1 条题解
-
0
这个程序是用来找出两个数a和b之间(包括a和b),所有正着读和倒着读都是素数的数。具体步骤如下:
- 逆序函数:将一个数逆序。
- 素数检查:判断一个数是否是素数。
- 遍历:从a到b逐个检查每个数及其逆序数。
- 输出:如果一个数和它的逆序数都是素数,就输出这个数。
#include<bits/stdc++.h> using namespace std; int f(int num){ int i=0,t=0; while(num>0){ t=t*10+num%10; num/=10; } return t; } bool isPrime(int n){ if(n <= 1) return false; if(n == 2) return true; // 2是最小的素数 if(n % 2 == 0) return false; // 排除偶数 for(int i=3; i*i <= n; i+=2){ if(n % i == 0) return false; } return true; } int main(){ int a,b; cin>>a>>b; for(int i=a; i<=b; i++){ if(isPrime(i) && isPrime(f(i))) { cout<<i<<endl; } } return 0; }
- 1
信息
- ID
- 128
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 1
- 标签
- 递交数
- 27
- 已通过
- 26
- 上传者