检查数字是否可以写为C ++中三个连续整数的和

在本节中,我们将看到一个数字是否可以表示为树的连续数字。假设数字为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