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 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.