Pagini recente » Cod sursa (job #1634624) | Cod sursa (job #1276205) | Cod sursa (job #1966733) | Cod sursa (job #1570821) | Cod sursa (job #2311257)
#include <bits/stdc++.h>
using namespace std;
int numar(char s[10])
{
int nr = 0;
int p = 1;
int sz = strlen(s);
for (int i = sz - 1; i >= 0; i--)
{
nr = nr + (s[i] - '0') * p;
p = p * 10;
}
return nr;
}
int prim(int a, int b)
{
int c;
while(b)
{
c = a % b;
a = b;
b = c;
}
return a;
}
int main()
{
int v[100010];
char s[100010][10];
ifstream f("pairs.in");
ofstream g("pairs.out");
unordered_map <string, int> mp;
int n, i, j;
f>>n;
for (i = 1; i <= n; i++)
{
f>>s[i];
v[i] = numar(s[i]);
}
for (i = 1; i < n; i++)
for (j = i + 1; j <= n; j++)
{
if(prim(v[i], v[j]) == 1)
{
char aux[50];
strcpy(aux, s[i]);
strcat(aux, ",");
strcat(aux, s[j]);
mp[aux]++;
}
}
int nr = 0;
for(auto &x : mp) nr++;
g<<nr;
f.close();
return 0;
}