Esempio n. 1
0
def solve():
    result = 0
    for x in range(1, 10000):
        divisors = factor(x)
        sum1 = 0
        for y in range(0, len(divisors)-1):
            sum1 += divisors[y]
        divisors = factor(sum1)
        sum2 = 0
        if sum1!=x:
            for y in range(0, len(divisors)-1):
                sum2 += divisors[y]
            if sum2==x:
                result = result+x
    return result
Esempio n. 2
0
def primes(n):

  # 1
  if number.integralPower(n):
    return 0

  # 2
  r = 2

  # 3
  while r < n:

    # 4
    if number.gcd(n, r) != 1:
      return 0

    # 5
    if r in number.SMALL_PRIMES:

      # 6
      factors = number.factor(r - 1)
      if len(factors) == 0:
        q = 0 # hack
      else:
        q = factors[-1]

      # 7
      if (q >= 4 * math.sqrt(r) * number.lg(n)) and (number.modPow(n, (r - 1) / q, r) != 1):

        # 8
        break

    # 9
    r = r + 1

  # 10

  print "r for ", n, ":", r
  return r

  # 11
  #for a in range(1, int(2 * math.sqrt(r) * number.lg(n)) + 2)):

    # 12
    #poly = [-1] + [0] * (r - 1) + [1]
    #lhs = polynomial.modPow([-a, 1], n, poly)
    #rhs = polynomial.mod([-a] + [0] * (n - 1) + [1], poly)
    #if lhs != rhs:
    #  return 0

  # 13
  return 1
Esempio n. 3
0
  # 10

  print "r for ", n, ":", r
  return r

  # 11
  #for a in range(1, int(2 * math.sqrt(r) * number.lg(n)) + 2)):

    # 12
    #poly = [-1] + [0] * (r - 1) + [1]
    #lhs = polynomial.modPow([-a, 1], n, poly)
    #rhs = polynomial.mod([-a] + [0] * (n - 1) + [1], poly)
    #if lhs != rhs:
    #  return 0

  # 13
  return 1

if __name__ == '__main__':

  #print primes(9901)
  print 2 * math.sqrt(10000) * number.lg(10000)

  print number.factor(17902)
  print 2 * math.sqrt(17903) * number.lg(99991)
  #print primes(99991)

  #for n in number.SMALL_PRIMES:
  #  if n != primes(n):
  #    break
Esempio n. 4
0
 def testFactor(self):
   self.assertEquals([], number.factor(1))
   self.assertEquals([2], number.factor(2))
   self.assertEquals([2, 2, 3], number.factor(12))
   self.assertEquals([13], number.factor(13))