如何直接访问STL集合的元素索引?直接访问STL“set”元素
我的错误敌不过 '运营商+'
#include<bits/stdc++.h>
..
set < long long > s;
set <long long > :: iterator it;
it = s.begin() + k;
cout << (*it);
这里k是需要的元素的索引。
更具体地说,我想解决使用集合的问题。
这里的问题是链接: k-th divisor
,这是我的错误代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
set<long long> s;
set<long long >:: iterator it;
long long i,n,k, ln;
cin >> n>> k;
ln = sqrt(n);
for(i = 1; i <= ln; i++)
{
if(n%i == 0)
{
s.insert(i);
s.insert(n/i);
}
}
if(s.size() < k)
printf("-1\n");
else
{
it = s.begin() + k;
cout << (*it);
}
s.clear();
return 0;
}
帮我出
集合中的元素未被编入索引。它们是按键找到的。 – jaggedSpire
看起来像[XY问题](http://xyproblem.info/)给我。你想做什么? – HolyBlackCat
不包含 –