对于数组
A={2, 5, 5, 8, 10, 10, 13, 13,...}, (A={1^2+1^2, 1^2+2^2, 2^2+1^2, 2^2+2^2, 1^2+3^2, 3^2+1^2, 2^2+3^2, 3^2+2^2,...})
和数字 K(K <= 10 ^ 12)。
在数组中查找第k个元素。我无法创建数组,所以找不到第k个元素。
答案 0 :(得分:0)
在C ++中,您将创建(并初始化)数组,如下所示:
int A[8]{ 2, 5, 5, 8, 10, 10, 13, 13 };
或者,甚至更好:
std::array<int, 8> A{ 2, 5, 5, 8, 10, 10, 13, 13 }; // In that case: #include <array>
如我所见,您的K值是一个公式,并且我假设K不是索引(即8个大小数组中的索引为0-7)。因此,K不是数组中的第K个元素。您应该在索引0到7上运行,并将每个A [index]与K进行比较。当到达满足条件的索引时,(index + 1)表示 n 元素。