• Даны две бесконечных возрастающих последовательности чисел 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