Pagini recente » Cod sursa (job #2461633) | Cod sursa (job #3137882) | Cod sursa (job #1921892) | Cod sursa (job #2336057) | Cod sursa (job #3282692)
#include <bits/stdc++.h>
using namespace std;
int n, v[100001];
int nr[1000001];
int solve(int pairs, int n) {
vector<int> v;
if (n % 2 == 0) {
++nr[2];
v.push_back(2);
}
while (n % 2 == 0) {
n /= 2;
}
for (int i = 3; i * i <= n; ++i) {
if (n % i == 0) {
++nr[i];
v.push_back(i);
}
while (n % i == 0) {
n /= i;
}
}
if (n != 1) {
++nr[n];
v.push_back(n);
n /= n;
}
for (auto i : v) {
pairs -= (nr[i] - 1);
}
return pairs;
}
int main() {
ifstream cin("pairs.in");
ofstream cout("pairs.out");
cin >> n;
int ans = 0;
for (int i = 1; i <= n; ++i) {
cin >> v[i];
ans += solve(i - 1, v[i]);
}
cout << ans;
}