の要素に直接アクセスする方法STLをインデックスで直接アクセスするにはどうすればいいですか?STLの要素への直接アクセス
私はエラーを得た'演算子+'
#include<bits/stdc++.h>
..
set < long long > s;
set <long long > :: iterator it;
it = s.begin() + k;
cout << (*it);
のための一致は、ここでkは必要要素のインデックスではありません。
より具体的には、私はsetを使って問題を解決したいと思います。ここ
は、問題のリンクです: 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;
}
はあなたがstd::next
をしたい
セットの要素は索引付けされません。彼らは鍵で見つけられる。 – jaggedSpire
私に[XY problem](http://xyproblem.info/)のように見えます。あなたは何をしようとしているのですか? – HolyBlackCat