Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Объединение последовательностей (для тех, кто хорошо знает математику) 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

По дате
По рейтингу
Аватар пользователя
Новичок
10мес
Аватар пользователя
Искусственный Интеллект
10мес
12345678910111213141516171819202122
 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)