这个题一开始的想法是定义两个函数,一个用来判断素数,另一个用来将输入的数做反序处理,再次判断是否为素数。
定义一个一维数组,用来存储符合题目条件的数。用一个计数器,来控制输入数组时的下标。
1 int m,n,i,k=0; 2 cin>>m>>n; 3 for(i=m; i<=n; i++) 4 if( a(i) && a(b(i)) ) 5 { 6 k++; 7 c[k]=i; 8 }
在定义反序函数时,有点困难,对我来说还是有难度的:
1 int b(int n) 2 { 3 int s=0; 4 while(n>0) 5 { 6 s=s*10+n%10; 7 n/=10; 8 }
最后输出时,也有一个细节,就是每个数之间要输出“,’” 而且最后一个后面没有“,”一开始我没有注意,提交后10个测试点只对了3个。之后做题一定要注意细节。
1 for(i=1; i<k; i++) 2 cout<<c[i]<<","; 3 cout<<c[k];