Check if a number can be written as sum of three consecutive integers in C++


In this section we will see, whether a number can be represented as tree consecutive numbers or not. Suppose a number is 27. This can be represented as 8 + 9 + 10.

This can be solved in two different approach. The first approach is Naïve approach. In that approach, we have to check i + (i + 1) + (i + 2) is same as number or not. Another efficient approach is by checking whether the number is divisible by 3 or not. Suppose a number x can be represented by three consecutive 1s, then x = (y - 1) + y + (y + 1) = 3y. So the number must be divisible by 3.

Example

 Live Demo

#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";
   }
}

Output

Can be represented

Updated on: 27-Sep-2019

108 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements