Pagini recente » Cod sursa (job #2972709) | Cod sursa (job #2118887) | Cod sursa (job #2961386) | Cod sursa (job #509210) | Cod sursa (job #863972)
Cod sursa(job #863972)
#include <iostream>
#include <fstream>
using namespace std;
bool p[1001][1000001] = {false};
int comp(int x, int y, int a, int b) {
int max = 0;
if(a > b) max = a; else max = b;
for(int i=1;i<=max;i++)
if(p[x][i]&&p[y][i]) return 0;
return 1;
}
void prel(int x, int y) {
int i = 1;
while(x>1) {
if(x%(++i)==0) {
p[y][i] = true;
x /= i;
}
}
}
int main() {
int vec[101];
int n;
ifstream fin("pairs.in");
ofstream fout("pairs.out");
fin>>n;
for(int i=1;i<=n;i++) {
fin>>vec[i];
prel(vec[i], i);
}
fin.close();
int count = 0;
for(int i=1;i<n;i++) {
for(int j=i+1;j<=n;j++) {
count += comp(i, j, vec[i], vec[j]);
}
}
fout<<count<<endl;
fout.close();
return 0;
}