⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 prime palindrome.cpp

📁 primepalindrome
💻 CPP
字号:
#include<stdio.h> 
#include<math.h> 
#include<string> 
#include<iostream> 
#define N 9999 
#define M 1000000000 
using namespace std;
int Isprim(long,int []); 
int main(){ 
        
       int num,temp,turn,k,l,a;//l为数的位数  k为结果的个数 
       long index;   
       int prim[10000]; 
        
       //创建一个数组,存储一到十亿开方的素数  
       int i,j=1,b; 
       prim[0]=2;  
       for(i=2;i*i<=M;i++){ 
          for(b=2;b<=sqrt(i);b++) 
             if(i%b==0)   i++; 
          prim[j]=i; j++; 
       }  
           
       //个位和十位的直接打印  
       printf("3\n5\n7\n11\n");  k=4; 
      //再找更大位数的回文素数    
       for(num=1;num<=N;num++){ 
          temp=num; l=0;   turn=0;                
          while(temp) {turn=turn*10+temp%10; temp/=10; l++; }//将数翻转,并求数的位数  
 
          for(a=0;a<=9;a++){//a为中间位。  
                  index=num*pow(10,l+1)+a*pow(10,l)+turn;//构造回文素数  
                  if(Isprim(index,prim)) { printf("%ld\t",index); k++; } 
               } 
               
       } 
       printf("共有%d个\n",k); 
        
        system("pause");
       return 0; 
        
} 
int Isprim(long n,int p[]){ 
    int i; 
    for(i=0;p[i]<=sqrt(n);i++)  
       if(n%p[i]==0)   return 0; 
    return 1; 
}  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -