Print a pattern without using any loop in C++

C++Server Side ProgrammingProgramming

In this problem, we are given a number n. Our task is to print patterns with decreasing to 0 or negative then increasing back to the number.

Let’s take an example to understand the problem,

Input: n = 12
Output: 12 7 2 -3 2 7 12

To solve this problem, we will use recursion and call the function after each update. The track of update is kept using the flag variable which tells the function to increase or decrease the number by 5.


The below code gives the implementation of our solution,

 Live Demo

#include <iostream>
using namespace std;
void printNextValue(int m){
   if (m > 0){
      printNextValue(m - 5);
int main(){
   int n = 13;
   cout<<"The pattern is:\n";
   return 0;


The pattern is −
13 8 3 -2 3 8 13
Published on 22-Jan-2020 17:13:42