Задача Объединение последовательностей
Объединение последовательностей Даны две бесконечных возрастающих последовательности чисел A и B. i-ый член последовательности A равен i^2. i-ый член последовательности B равен i^3.
Требуется найти Cx, где C — возрастающая последовательность, полученная при объединении последовательностей A и B. Если существует некоторое число, которое встречается и в последовательности A, и в последовательности B, то в последовательность C это число попадает в единственном экземпляре.
Входные данные
В единственной строке входных данных дано натуральное число x(1≤x≤107).
Выходные данные
Выведите Cx.
Ввод:
4
Вывод:
9
Ввод:
1
Вывод:
1
Ввод:
2
Вывод:
4
#include <iostream>
using namespace std;
int main() {
uint64_t x;
cin >> x;
int i=1, j=1, a=1, b=1;
int result = 0;
while (x) {
if (a <= b) {
x += a == b;
result = a;
i += 1;
a = i * i;
} else {
result = b;
j += 1;
b = j*j*j;
}
x -= 1;
}
cout << result;
}
Подскажите пожалуйста, что не так и помогите исправить.