回复 10楼 虫眼
我是新人,那个不好意思,吹板是谁啊
#include <stdio.h> #include <math.h> int trs(int nold) /*自定义逆向转换函数trs(),如:1234转为4321*/ { int nnew; nnew=((nold / 1 %10) * 1000 + (nold / 10 %10) * 100 + (nold / 100 %10) * 10 + (nold / 1000 %10) * 1); return nnew; } main() { int i,j,format=0; int flag1,flag2; int m,n,num=0; for(m = 1000; m <= 9999; m++) /*设定检测取值范围*/ { n = trs(m); /*求出对应的逆向数*/ flag1 = 1, flag2 = 1; for(i = 2; i <= sqrt(m); i++) /*素数判断*/ if(m%i == 0) { flag1 = 0; break; } for(j = 2; j <= sqrt(n); j++) /*逆向数素数判断*/ if(n%j == 0 ) { flag2 = 0; break; } if(flag1 == 1 && flag2 == 1) /*判断是否为可逆素数*/ { num++; printf("(%4d\t" ,m); /*美化显示效果,一行两组加括号*/ printf("%4d)\t" ,n); format++; if(format%2 == 0) /*定义列数,这里每行显示2列,如需10列改为format%10==0即可*/ printf("\n"); } } printf("\n"); printf("共有逆向素数%d个,%d对!\n",num * 2,num); return 0; }
[此贴子已经被作者于2018-2-3 11:01编辑过]