Shy*_*bek 7 c++ std stdset c++14
我们以下面的代码为例。
auto cmp = [](ll a, ll b) {
return gcd(12, a) < gcd(12, b);
};
set<ll, decltype(cmp)> s(cmp);
for(ll i = 0; i < 2; i++){
ll x;
cin >> x;
s.insert(x);
cout << "Success! \n";
}
Run Code Online (Sandbox Code Playgroud)
我定义了新的比较器,通过它们的最大公约数与 12 进行比较。
首先我成功插入5。然后我尝试插入7,但没有成功。
我知道 gcd(12, 5) = gcd(12, 7) = 1。
但我不明白如何std::set
检查 5 是否等于 7。
用我给的comparator comp可以查出gcd(12, 7)不小于gcd(12, 5) ,但是怎么算出gcd(12, 7)等于gcd(12, 5) ?
归档时间: |
|
查看次数: |
84 次 |
最近记录: |