在 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

相关文章