我找到了两个解决方案来确定两个数字是否具有相同的奇偶校验(都是奇数或都是偶数)。在 C++ 中,它们看起来像这样:
if ((a+b)%2 == 0)
Run Code Online (Sandbox Code Playgroud)
和
if (a%2 == b%2)
Run Code Online (Sandbox Code Playgroud)
问题是第一个适用于 100% 的案例,第二个仅适用于 80% 的案例(我在网站上提交的问题的测试),我不明白为什么。对我来说,这两行代码在所有情况下都应该可以正常工作。有人能解释一下为什么第一行代码在所有情况下都可以工作而第二行代码不行吗?您会推荐哪种方法(我或其他人展示的方法)?
我有一份来自STL的矢量列表.它们有不同的长度,我想按每个向量的第一个元素对它们进行排序.例如,我有载体:4 4 5 6 10,1 8,2 2 3和3 1 7 9的第一个号码是每个向量的大小和它之后是矢量的元素.我想在文件中显示向量,按第一个元素排序.在这个例子中,我的载体应在该顺序显示:3 1 7 9,2 2 3,4 4 5 6 10和1 8.
这是我的代码:
ofstream fout ("retele.out");
fout << T << '\n';
for (i=1; i<=T; i++)
{
fout << sol[i].size() << ' ';
sort(sol[i].begin(),sol[i].end());
for (j=0; j<sol[i].size(); j++)
fout << sol[i][j] << ' ';
fout << '\n';
}
fout.close();
Run Code Online (Sandbox Code Playgroud)
"T"是向量的数量."sort"函数用于对每个向量进行排序,我还需要另一种用于对向量进行排序的方法,如我刚才所述.