Advertisement
Guest User

Untitled

a guest
Apr 25th, 2021
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.22 KB | None | 0 0
  1. import math
  2. import functools
  3.  
  4. def factors(n):
  5.     while n > 1:
  6.         for i in range(2, int(n) + 1):
  7.             if n % i == 0:
  8.                 n /= i
  9.                 yield i
  10.                 break
  11.  
  12.  
  13. #https://oeis.org/search?q=3%2C+5%2C+9%2C+13%2C+21%2C+29%2C+45&language=english&go=Search
  14. A060482 = [1, 2, 3, 5, 9, 13, 21, 29, 45, 61, 93, 125, 189, 253, 381, 509]
  15. A136252 = [ 1, 3, 5, 9, 13, 21, 29, 45, 61, 93, 125, 189, 253, 381, 509, 765]
  16.  
  17. #https://oeis.org/search?q=5%2C+11%2C+17%2C+35%2C+53%2C+107&language=english&go=Search
  18. A060647 = [1, 3, 5, 11, 17, 35, 53, 107, 161, 323, 485, 971, 1457, 2915, 4373, 8747, 13121, 26243, 39365]
  19.  
  20. #https://oeis.org/search?q=3%2C+9%2C+21%2C+45%2C+93&sort=&language=english&go=Search
  21. A068156 = [1, 3, 9, 21, 45, 93, 189, 381, 765, 1533, 3069, 6141, 12285, 24573, 49149, 98301, 196605]
  22.  
  23. #https://oeis.org/A000225
  24. A000225 = [0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535, 131071]
  25.  
  26. #base
  27. b = 3
  28. #power of base
  29. p = 5
  30. #power of step
  31. q = 9
  32. #number of steps
  33. n = b**p
  34.  
  35. #sum_{x=1..n}(x^q mod n - n/2)
  36. s = 0
  37. #sum_{x=1..n}(x^q mod n)/n
  38. s2 = 0
  39.  
  40. for x in range(1,n+1):
  41.     s += ((x**q) % n - n/2)
  42.     s2 += (x**q) % n
  43.  
  44. # sum s
  45. print("s=sum_{x=1..n}(x^q mod n - n/2):")
  46. print(s)
  47.  
  48. #coplement
  49. coplement = s*(-2)
  50. print("s*(-2):")
  51. print(coplement)
  52.  
  53. print("sum_{x=1..n}(x^q mod n)/n:")
  54. print(s2/n)
  55. check = 1/2*(n-math.sqrt(n))
  56. print("1/2*(n-sqrt(n)):")
  57. print(check)
  58.  
  59. #check 2^p, q=2
  60. '''
  61. print("1/2*(n-A060482[p])")
  62. check = 1/2*(n-A060482[p])
  63. print(check)
  64. print("1/2*(n-A136252[p-1])")
  65. check = 1/2*(n-A136252[p-1])
  66. print(check)
  67. '''
  68.  
  69. #check 3^p, q=2
  70. '''
  71. print("1/2*(n-A060647[p+1]/3)")
  72. check = 1/2*(n-A060647[p+1]/3)
  73. print(check)
  74. '''
  75.  
  76. #check 4^p, q=2
  77. '''
  78. print("1/2*(n-A068156[p])")
  79. check = 1/2*(n-A068156[p])
  80. print(check)
  81. '''
  82. #factorize complement
  83. compl_factors_list = list(factors(coplement))
  84. print("factors of s*(-2):")
  85. print(compl_factors_list)
  86. print(len(compl_factors_list))
  87.  
  88. #product of non base remainder
  89. non_base_factors = [x for x in compl_factors_list if x != b]
  90. if len(non_base_factors) > 0:
  91.     remainder = functools.reduce((lambda x, y: x * y), non_base_factors)
  92.     print("non base remainder:")
  93.     print(remainder)
  94.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement