Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def nroot(x,n):
- lo = 1
- hi = x//n
- while lo <= hi:
- mi = (lo+hi)//2
- test = mi**n
- if test < x:
- lo = mi + 1
- elif test > x:
- hi = mi - 1
- else:
- return mi
- return lo
- b = 2
- fac = 2
- while True:
- prod = b+1
- i = b+1
- while prod < fac:
- i += 1
- prod *= i
- if prod == fac:
- print("%s! = %s! %s!"%(i,b,b))
- for N in range(2,i-b):
- j = nroot(fac,N)
- prod = 1
- for k in range(j,j-N,-1):
- prod *= k
- while prod < fac:
- j += 1
- prod //= j-N
- prod *= j
- while prod > fac:
- prod //= j
- prod *= j-N
- j -= 1
- if prod == fac:
- print("%s! = %s! %s!"%(j,j-N,b))
- if b % 10 == 0:
- print(" %s"%b)
- b += 1
- fac *= b
Advertisement
Add Comment
Please, Sign In to add comment