


Объединение последовательностей (для тех, кто хорошо знает математику) Python
Ограничение по времени: 1cек.
Даны две бесконечных возрастающих последовательности чисел A и B. i-ый член последовательности A равен i^2. i-ый член последовательности B равен i^3.
Требуется найти Cx, где C – возрастающая последовательность, полученная при объединении последовательностей A и B. Если существует некоторое число, которое встречается и в последовательности A и в последовательности B, то в последовательность C это число попадает в единственном экземпляре.
Входные данные:
В единственной строке входного файла дано натуральное число x (1 ≤ x ≤ 10^80).
Выходные данные:
В выходной файл выведите Cx.
Примеры:
Входные данные:
1
Выходные данные:
1
Входные данные:
2
Выходные данные:
4
Входные данные:
4
Выходные данные:
9
Было уже: https://otvet.mail.ru/question/239507551
def nextElem(N):
# N - ограничение на кол членов
i,j,n=1,1,1
sq,qu=1,1
while True:
while sq < qu:
yield sq
i +=1
sq = i**2
n +=1
if n>N: break
if n>N: break
if qu > sq:
yield qu
n +=1
j +=1
qu = j**3
## test выдадим 50 шт
for k in nextElem(50) :
print(k)