C++ 中判断一个数是否能表示为三个连续整数之和
在本节中,我们将了解如何判断一个数是否可以表示为三个连续整数之和。假设一个数是 27。它可以表示为 8 + 9 + 10。
这可以使用两种不同的方法解决。第一种方法是朴素方法。在这种方法中,我们需要检查 i + (i + 1) + (i + 2) 是否等于该数。另一种更有效的方法是检查该数是否能被 3 整除。假设一个数 x 可以表示为三个连续的整数之和,则 x = (y - 1) + y + (y + 1) = 3y。因此,该数必须能被 3 整除。
示例
#include <iostream> using namespace std; bool hasThreeNums(int n) { if(n % 3 == 0){ return true; } return false; } int main() { int num = 27; if(hasThreeNums(num)){ cout << "Can be represented"; }else{ cout << "Cannot be presented"; } }
输出
Can be represented
广告