Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from tqdm import tqdm
- '''
- Определите сначала количество троек элементов последовательности, в которых хотя бы одно число в троичной системе счисления оканчивается 2,
- а затем минимальную сумму чисел из таких троек. В данной задаче элементы тройки не обязаны стоять в последовательности рядом,
- порядок элементов в паре не важен.
- '''
- def x_to_base(x, a=3):
- d = ''
- ost = x
- while ost != 0:
- d += str(ost % a)
- ost //=a
- return d[::-1]
- c = 0
- s = 100 ** 100
- with open('17-13.txt', 'r') as f:
- data = f.read().strip().split('\n')
- for x in tqdm(range(len(data))):
- for y in range(x + 1, len(data)):
- for z in range(y + 1, len(data)):
- items = [int(data[x]), int(data[y]), int(data[z])]
- if x_to_base(items[0]) == '2' or x_to_base(items[1]) == '2' or x_to_base(items[2]) == '2':
- s = min(s, sum(items))
- c += 1
- print(c, s)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement