Pagini recente » Istoria paginii monthly-2012/runda-7/solutii | Cod sursa (job #2667568) | Cod sursa (job #3196066) | Cod sursa (job #2743570) | Cod sursa (job #109866)
Cod sursa(job #109866)
#include <stdio.h>
#define MN (100009)
inline int gcd(int a, int b)
{
int t;
while(b) {
t = b;
b = a%b;
a = t;
}
return a;
}
int main()
{
freopen("pairs.in", "r", stdin);
freopen("pairs.out", "w", stdout);
int N, n[MN], i, j, odd = 0, even = 0, R = 0;
scanf("%d", &N);
for(i = 0; i < N; ++i) {
scanf("%d", &j);
if(j%2)
n[N-(++odd)] = j;
else n[even++] = j;
}
for(i = 0; i < even; ++i) for(j = N-odd; j < N; ++j) if(gcd(n[i], n[j]) == 1)
++R;
for(i = N-odd; i < N-1; ++i) for(j = i+1; j < N; ++j) if(gcd(n[i], n[j]) == 1)
++R;
printf("%d\n", R);
return 0;
}