Advertisement
Guest User

Untitled

a guest
Oct 20th, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.54 KB | None | 0 0
  1. n = 0 # количество элементов стеков
  2. k = 0 # сумма элементов стеков
  3. limit_int = random.randint(0, 65535) # рандомное ограничение (по условиям задачи тот самый Х)
  4. size1 = random.randint(5, 10 ** 5) # генератор размера первого стека
  5. size2 = random.randint(5, 10 ** 5) # генератор размера второго стека
  6. stack1 = [random.randint(0, 100) for i in range(size1)] # генератор первого стека (сгенерирут случайное целое число от 0 до 100 и положит в стек)
  7. stack2 = [random.randint(0, 100) for i in range(size2)] # генератор второго стека
  8.  
  9.     while k <= limit_int:
  10.         if len(stack1) == 0 and len(stack2) == 0:
  11.             break
  12.         elif len(stack1) == 0 and (k + stack2[-1]) <= limit_int:
  13.             k += stack2.pop()
  14.             n += 1
  15.         elif len(stack2) == 0 and (k + stack1[-1]) <= limit_int:
  16.             k += stack1.pop()
  17.             n += 1
  18.         elif stack1[-1] <= stack2[-1] and (k + stack1[-1]) <= limit_int:
  19.             k += stack1.pop()
  20.             n += 1
  21.         elif stack2[-1] <= stack1[-1] and (k + stack2[-1]) <= limit_int:
  22.             k += stack2.pop()
  23.             n += 1
  24.         else:
  25.             break
  26. print(k) # итоговая сумма элементов стека (должна быть меньше Х)
  27. print(n) # итоговое количество элементов стека
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement