Змея / Говнокод #22422 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
import math
arr = list(range(1, 10001))
num = int(input('Число: '))
log = int(math.log2(len(arr)))

lens = int(len(arr)/2)
arr1 = arr[:lens]
arr2 = arr[lens:]

i = 0
while i <= log:
  print('Шаг', i, 'из', log)
  
  if arr1:
    if num == arr1[0]:
      print(arr1[0])
      break
    if num == arr1[-1]:
      print(arr1[-1])
      break
  if arr2:
    if num == arr2[0]:
      print(arr2[0])
      break
    if num == arr2[-1]:
      print(arr2[-1])
      break
      
  if num in arr1:
    len1 = arr1
    arr1 = arr1[:int(len(arr1)/2) if int(len(arr1)/2) == 0 else int(len(arr1)/2+1)] 
    arr2 = len1[int(len(arr1)/2) if int(len(arr1)/2) == 0 else int(len(arr1)/2+1):]
    
  if num in arr2:
    len2 = arr2
    arr2 = arr2[:int(len(arr2)/2) if int(len(arr2)/2) == 0 else int(len(arr2)/2+1)]
    arr1 = len2[int(len(arr2)/2) if int(len(arr2)/2) == 0 else int(len(arr2)/2+1):]
      
  i += 1

Бинарный поиск, говно?

Запостил: lols lols, (Updated )

Комментарии (16) RSS

    • Ага, питоний list это массив, а не связный список. Гвидо всех наебал.
      Ответить
    • Это, кстати, хуйня на фоне того, что вверху берутся слайсы от списка. А они не COW.
      Ответить
        • Я не смотрел в кишки питона, но вполне может быть.
          Ответить
        • > То есть в итоге у программы квадратичный расход памяти?

          А как насчитался квадратичный? Вроде бы каждый раз размер слайса уменьшается вдвое.
          2*N/2 + 2*N/4 + 2*N/8 + ... <= 2*N
          Ответить
  • Я, cykablyad, находясь в здравом уме и твердой памяти, торжественно заявляю:
    говно
    Ответить

Добавить комментарий

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8