Guest User

Untitled

a guest
Jan 1st, 2017
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.66 KB | None | 0 0
  1. def nroot(x,n):
  2.     lo = 1
  3.     hi = x//n
  4.     while lo <= hi:
  5.         mi = (lo+hi)//2
  6.         test = mi**n
  7.         if test < x:
  8.             lo = mi + 1
  9.         elif test > x:
  10.             hi = mi - 1
  11.         else:
  12.             return mi
  13.     return lo
  14.  
  15. b = 2
  16. fac = 2
  17. while True:
  18.     prod = b+1
  19.     i = b+1
  20.     while prod < fac:
  21.         i += 1
  22.         prod *= i
  23.     if prod == fac:
  24.         print("%s! = %s! %s!"%(i,b,b))
  25.     for N in range(2,i-b):
  26.         j = nroot(fac,N)
  27.         prod = 1
  28.         for k in range(j,j-N,-1):
  29.             prod *= k
  30.         while prod < fac:
  31.             j += 1
  32.             prod //= j-N
  33.             prod *= j
  34.         while prod > fac:
  35.             prod //= j
  36.             prod *= j-N
  37.             j -= 1
  38.         if prod == fac:
  39.             print("%s! = %s! %s!"%(j,j-N,b))
  40.     if b % 10 == 0:
  41.         print("  %s"%b)
  42.     b += 1
  43.     fac *= b
Advertisement
Add Comment
Please, Sign In to add comment