如何在数组中找到元素kth?

时间:2018-07-17 07:58:11

标签: c++11 matrix

对于数组

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个元素。

1 个答案:

答案 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 元素。