Sharing answer codes of mine about Programmers Level4. expressions.

Level 4: Expressions of a Number

Problem Statement

Given a natural number N, find the number of ways to represent the number N as a sum of consecutive natural numbers. For example,

N = 15

Answer = 4,

since possible ways to represent the number N are \((1+2+3+4+5), (4+5+6), (7+8), (15)\).

Answer code (in C++)

using namespace std;
int expressions(int testCase)
  int answer = 0;  
  // Loop until half of the testCase, it is unnecessary after then
  for (int i=1; i<=testCase/2; ++i){
    int sum = 0;    
    for (int j=i; j<=testCase; ++j){
      sum += j;
      // If sum is equal to the testCase
      if (sum == testCase){ 
        answer += 1;
      // Break if sum is bigger than the testCase
      else if (sum > testCase){ 
  // Plus one to include the testCase itself
  return ++answer;

int main()
  int testNo = 15;
  int testAnswer = expressions(testNo);