【发布时间】:2025-12-06 12:05:01
【问题描述】:
我想出了解决问题的两种不同方法,虽然两种方法看起来都合乎逻辑,但只有一种方法有效。基本上,如果所有未被淘汰的剩余候选人的最小票数相同,则该函数将返回 true,否则返回 false。两种方法如下:
1
bool is_tie(int min)
{
for (int i = 0; i < candidate_count; i++)
{
if (!candidates[i].eliminated)
{
if (candidates[i].votes != min)
return false;
}
}
return true;
}
2
bool is_tie(int min)
{
for (int i = 0; i < candidate_count; i++)
{
if (!candidates[i].eliminated)
{
if (candidates[i].votes == min)
return true;
}
}
return false;
}
我看不出上面两个代码函数之间有任何逻辑差异。那为什么第二个是错的呢?
【问题讨论】:
标签: boolean cs50 boolean-logic boolean-operations booleanquery