- #include<iostream> //若两正整数的和为素数,则这两个正整数称之为“素数伴侣”,如2和5、6和13
- using namespace std;
- void sort(int *a,int n)
- {
- int i,j,t;
- for(i=0;i<n-1;i++)
- for(j=i+1;j<n;j++)
- {
- if(a[i]>a[j])
- {
- t=a[i];
- a[i]=a[j];
- a[j]=t;
- }
- }
- }
- bool isprime(int n)
- {
- int i;
- bool b=1;
- for(i=2;i<n/2;i++)
- {
- if(n%i==0)
- {
- b=0;
- break;
- }
- }
- return b;
- }
- int main()
- {
- int N,c;
- c=0;
- cin>>N;
- int i,j,a[N];
- for(i=0;i<N;i++)
- {
- cin>>a[i];
- }
- sort(a,N);
- for(i=0;i<N-1;i++)
- for(j=i+1;j<N;j++)
- {
- if(a[i]==1||a[j]==1)
- continue;
- if(isprime(a[i]+a[j]))
- {
- c++;
- a[i]=1;
- a[j]=1;
- continue;
- }
- }
- cout<<c;
- return 0;
- }
来源: https://www.oschina.net/code/snippet_2879488_58552