Pagini recente » Cod sursa (job #1487224) | Cod sursa (job #162047) | Cod sursa (job #3140218) | Cod sursa (job #1713548) | Cod sursa (job #2313703)
vmax = 1000000
my_file = open("pairs.in", "r")
n = int(my_file.readline())
p = [ ]
r = [ ]
w = [ ]
for i in range(0, vmax + 1):
p.append(0)
r.append(0)
w.append(0)
i = 2
while i <= vmax:
if r[ i ] == 0:
r[ i ] = i
w[i] = 1
j = i * 2
while j < vmax:
if r[ j ] == 0:
r[ j ] = i
w[ j ] += 1
j += i
i += 1
for i in range(0, n):
e = [ ]
x = int(my_file.readline())
while x != 1:
if e.count(r[ x ]) == 0:
e.append(r[ x ])
x /= r[ x ]
for j in range(0, (1 << len(e))):
x = 1
for t in range(0, len(e)):
if (j & (1 << t)) != 0:
x *= e[ t ]
if x != 1:
p[ x ] += 1
nop = long(n * (n - 1))/2
for i in range(2, vmax):
if p[ i ] != 0:
if w[ i ] % 2 == 1:
nop -= p[ i ] * (p[ i ] - 1) / 2
else:
nop += p[ i ] * (p[ i ] - 1) / 2
my_writefile = open("pairs.out","w")
my_writefile.write(str(nop))