在 C++ 中检查一个数字是否可以写成三个连续整数之和
c++server side programmingprogramming
在本节中,我们将看到一个数字是否可以表示为三个连续的数字。假设一个数字是 27。这可以表示为 8 + 9 + 10。
这可以用两种不同的方法来解决。第一种方法是朴素方法。在该方法中,我们必须检查 i + (i + 1) + (i + 2) 是否与数字相同。另一种有效的方法是检查数字是否能被 3 整除。假设数字 x 可以用三个连续的 1 表示,那么 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