Cod sursa(job #2313726)

Utilizator badea_adi1999Badea Adrian Catalin badea_adi1999 Data 7 ianuarie 2019 13:22:20
Problema Pairs Scor 0
Compilator py Status done
Runda Arhiva de probleme Marime 1.04 kb
import sys
vmax = 1000000
my_file = open("pairs.in", "r")
n = int(my_file.readline())

p = [0] * (vmax+5)
r = [0] * (vmax+5)
#w = [0] * (vmax+5)

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))