• Даны две бесконечных возрастающих последовательности чисел A и B. i-ый член последовательности A равен i2. i-ый член последовательности B равен i3.

    Требуется найти Cx, где C – возрастающая последовательность, полученная при объединении последовательностей A и B. Если существует некоторое число, которое встречается и в последовательности A и в последовательности B, то в последовательность C это число попадает в единственном экземпляре.

    Входные данные
    В единственной строке входного файла дано натуральное число x (1 ≤ x ≤ 10^7).

    Выходные данные
    В выходной файл выведите Cx.
    Просьба написать на c++
    Пример:
    Ввод:1
    Вывод:1
    Ввод:2
    Вывод:4
    Ввод:4
    Вывод:9

Ответы 1

  • def merge(a, b):  res = []  i = 0  j = 0  while i < len(a) and j < len(b):    if a[i] < b[j]:      res.append(a[i])      i += 1    elif a[i] > b[j]:      res.append(b[j])      j += 1    elif a[i] == b[j]:      res.append(b[j])      j += 1      i += 1  res.extend(a[i:])  res.extend(b[j:])  return res def msort(a):  if len(a) <= 1:    return a  k = len(a) // 2  return merge(msort(a[:k]), msort(a[k:]))  x = int(input()) a1 = [i ** 2 for i in range(1, 3 * x)] b1 = [i ** 3 for i in range(1, 3 * x)] arr = a1 + b1 arr = msort(arr) print(arr[x - 1]).

  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years