不重复需要一个临时数组,新找出来的素数要在检查在不在这个数组里。
#include <stdio.h>
int prime(int n){
if (n<2) return 0;
for (int i=2;i<n;i++)
if (n%i==0) return 0;
return 1;
}
int reverse(int n){
int t = 0;
while (n>0){
t = t*10 + n%10;
n /= 10;
}
return t;
}
int NotinArray(int n,int arr[]){
for (int i=0;i<1800;i++)
if (n==arr[i]) return 0;
return 1;
}
int main()
{
int r,t[1800];
int j=0;
for (int i=0;i<1800;i++)
t[i]=0;
for (int i=100;i<1000;i++){
r = reverse(i);
if (prime(i) && prime(r) && r>100 && NotinArray(i,t)){
printf("%d %d\n",i,reverse(i));
t[j] = i; j++;
t[j] = reverse(i); j++;
}
}
return 0;
}
if里加一个&& i ! = e