//判断素数 //判断回文数 #include<iostream> #include<stdio.h> #include<math.h> #include<stdlib.h> #include<algorithm> using namespace std; int arr[10010]; int ishuiwen(int n) { int len=(int)(log10(n)+1); int k=n; int a=len; int sum=0; for(int i=1;i<=a;i++) { int t=k%10; sum+=t*pow(10,--len); k=k/10; } if(sum==n) return 1; else return 0; } int isPrime(int n) { if(n<=1)return false;//不是素数,但也不代表这是合数 int sqr=(int)sqrt(1.0*n); for(int i=2;i<=sqr;i++) { if(n%i==0) return false;//不是素数 } return true;//是素数 } int main() { int m,n; int len=0; cin>>m>>n; if(m>n) swap(m,n); for(int i=m;i<=n;i++) { if(isPrime(i)&&ishuiwen(i)) arr[len++]=i; } for(int i=0;i<len;i++) { if((i+1)%5==0) printf("%6d\n",arr[i]); else printf("%6d",arr[i]); } system("pause"); } |
Double click to view unformatted code.