#include<stdio.h> int main() { int m,n,c,b,k,p,q,r,leap; scanf("%d%d",&m,&n); r=0; leap=0; for(k=m;k>=m&&k<=n;k++) { b=0; p=k; while(k>0) { c=k%10; b=b*10+c; k=k/10; } if(b==p) { for(q=2;q<p;q++) if(p%q==0) break; if(q==p) { leap=1; r=r+1; } else leap=0; } else leap=0; k = p;//恢复k的值,下次循环用用的 //输出语句移到循环内,对每个回文素数做输出 if(leap==1)// ==判断 {//只有本身为回文素数时,判断是否需要输出换行 printf("%d ",p); if(r%5==0)//一次判断 不然死循环输出换行了 printf("\n"); } } printf("\n"); return 0; } |
Double click to view unformatted code.