Pagini recente » Cod sursa (job #862276) | Cod sursa (job #1181658) | Cod sursa (job #24875) | Cod sursa (job #2514532) | Cod sursa (job #2125780)
#include <fstream>
using namespace std;
bool fr[1000001];
int div[20],v[100001];
int main()
{ int x,i,nr,j,n,k,d,Max=0;
ifstream f("pairs.in");
ofstream g("pairs.out");
f>>n;
for (i=1;i<=n;++i) {
f>>v[i];
Max=max(Max,v[i]);
fr[v[i]]=1;
}
int sol=(n-1)*n/2;
for (i=1;i<=n;++i) {
x=v[i];
d=2;
nr=0;
while (x>1) {
if (x%d==0) {
++nr;
div[nr]=d;
while (x%d==0)
x/=d;
}
++d;
}
for (j=1;j<=nr;++j)
for (k=v[i]/div[j]+1;div[j]*k<=Max;++k)
if (fr[div[j]*k]==1) --sol;
}
g<<sol;
return 0;
}