C program to print number series without using any loop

CServer Side ProgrammingProgramming

In this problem, we are given two numbers N and K. Our task is to create a program that will print number series without using any loop.

The series that is to be printed will start from n and will be subtracted by k till it becomes zero or negative. After that, we will start to add k to it till it becomes n again. If this process we cannot use any type of loop.

Let’s take an example to understand the problem,

Input

n = 12 , k = 3

Output

12 9 6 3 0 3 6 9 12

To solve this problem without using a loop we will use recursion. We will create a recursive function that will call itself again and keep a check on the value of the number to ensure which operation out of addition or subtraction is to be one on the number.

The function will use a flag that will help us to keep track of whether the value is to be subtracted or added.

C program to print number series without using any loop

// C program to print number series without using any loop

Example

 Live Demo

#include <iostream>
using namespace std;
void PrintSeriesRec(int current, int N, int K, bool flag){
   cout<<current<<"\t";
   if (current <= 0)
      flag = !flag;
   if (current == N && !flag)
      return;
   if (flag == true)
      PrintSeriesRec(current - K, N, K, flag);
   else if (!flag)
      PrintSeriesRec(current + K, N, K, flag);
}
int main(){
   int N = 12, K = 4;
   cout<<"The series is : \n";
   PrintSeriesRec(N, N, K, true);
   return 0;
}

Output

The series is −

12 8 4 0 4 8 12
raja
Published on 18-Jul-2020 05:59:50
Advertisements