Wednesday, October 21, 2009

Project Euler 148


to A <3

def f(x):
   if x <= 6:
      return (x)*(x+1)/2
   else:
      k = 1
      r = 1
      while (7*k <= x):
         k *= 7
         r *= 28
return f(x/k)*r + (x/k+1)*f(x-k*int(x/k))

Använde identiteten att x^{7} + y^{7} = (x+y)^{7} (mod 7). Det är vetvärt att lösningen är alla ickenoll rutor i en Sierpinskitriangel.

No comments:

Post a Comment