同样的输出效果,我用循环就全AC,用递归反而就不行了。求指教。谢谢
/*
区间内的真素数
*/
#include<bits/stdc++.h>
using namespace std;
const int MAX=6;
int x[10],res[10000];
bool is_prime(int n){
if(n==1)return false;
for(int i=2;i*i<=n;i++){
if(n%i==0)return false;
}
return true;
}
int fan_xu(int n,int i=0,int N=0){
if(n!=0){
x[i]=n%10;
n/=10;
N+=x[i];
N*=10;
fan_xu(n,++i,N);
}else{
return N/10;
}
}
int main(){
int m,n,j=0;
cin>>m>>n;
if(m>n)swap(m,n);
for(int i=m;i<=n;i++){
if(is_prime(i) && is_prime(fan_xu(i))){
res[j]=i;
j++;
}
}
if(j>0){
for(int k=0;k<j;k++){
if(k==j-1){
cout<<res[k]<<endl;
}else{
cout<<res[k]<<",";
}
}
}else{
cout<<"No"<<endl;
}
return 0;
}