Pagini recente » Cod sursa (job #2519415) | Cod sursa (job #548188) | Cod sursa (job #2870850) | Cod sursa (job #590405) | Cod sursa (job #2125781)
#include <fstream>
using namespace std;
bool fr[1000001];
int dv[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;
dv[nr]=d;
while (x%d==0)
x/=d;
}
++d;
}
for (j=1;j<=nr;++j)
for (k=v[i]/dv[j]+1;dv[j]*k<=Max;++k)
if (fr[dv[j]*k]==1) --sol;
}
g<<sol;
return 0;
}