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

更新于: 2019-09-27

137 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告