Advertisement
Lonely_Wanderer

Нахождение делимого на 2 в степени N, состоящего только из 1 и 2

Dec 10th, 2020
836
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.81 KB | None | 0 0
  1.  
  2. ```
  3.     функция, которая ищет, собственно, близжайшее число, состоящее из 1 и 2,
  4.     которое без остатка делится на j
  5. ```
  6. def magic(n):
  7.     i=1
  8.     j=2**n
  9.     flag=True
  10.     mem=0
  11.     while flag:
  12.         for k in magic1(i):
  13.             mem = k
  14.             if k%j==0:
  15.                 flag=False
  16.                 break
  17.         i=i+1
  18.     print("[" + str(n)+" - "+str(j)+"] : " + str(mem))
  19.  
  20.  
  21. ```
  22.     функция, которая возвращает числа в виде
  23.         1
  24.         2
  25.        
  26.         11
  27.         12
  28.         21
  29.         22
  30.     и так далее, если запустите, то поймёте
  31. ```
  32.  
  33. def magic1(n):
  34.     l=[]
  35.     for i in range(0,n):
  36.         for j in range(0,(2**i)):
  37.             s = bin(j)[2:]
  38.             s=s if len(s)==i else ("0"*(i-len(s))+s)
  39.             s = s.replace('1','2').replace('0','1')
  40.             l.append(int(s))
  41.     return l[1:]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement