# Java Program for Print Number series without using any loop

Problem – Givens Two number N and K, our task is to subtract a number K from N until number(N) is greater than zero, once the N becomes negative or zero then we start adding K until that number become the original number(N).
Note : Not allow to use any loop.

Examples :

```Input : N = 15 K = 5
Output : 15 10 5 0 1 5 10 15

Input : N = 20 K = 6
Output : 20 14 8 2 -4 2 8 14 20
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Explanation – We can do it using recursion idea is that we call the function again and again until N is greater than zero (in every function call we subtract N by K). Once the number becomes negative or zero we start adding K in every function call until the number becomes the original number. Here we use a single function for both addition and subtraction but to switch between addition or subtraction function we used a Boolean flag.

 `// Java program to Print Number ` `// series without using loop ` ` `  `import` `java.io.*; ` `import` `java.util.*; ` ` `  `class` `GFG { ` `    ``public` `static` `void` `PrintNumber(``int` `N, ``int` `Original, ``int` `K, ``boolean` `flag) ` `    ``{ ` ` `  `        ``// print the number ` `        ``System.out.print(N + ``" "``); ` ` `  `        ``// change flag if number ` `        ``// become negative ` `        ``if` `(N <= ``0``) ` `            ``flag = !flag; ` ` `  `        ``// base condition for ` `        ``// second_case (Adding K) ` `        ``if` `(N == Original && !flag) ` ` `  `            ``return``; ` ` `  `        ``// if flag is true ` `        ``// we subtract value until ` `        ``// number is greater then zero ` `        ``if` `(flag == ``true``) { ` `            ``PrintNumber(N - K, Original, K, flag); ` `            ``return``; ` `        ``} ` ` `  `        ``// second case (Addition ) ` `        ``if` `(!flag) { ` `            ``PrintNumber(N + K, Original, K, flag); ` `            ``return``; ` `        ``} ` `    ``} ` ` `  `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` `        ``int` `N = ``20``, K = ``6``; ` `        ``PrintNumber(N, N, K, ``true``); ` `    ``} ` `} ` `// This code is contributed by Mohit Gupta_OMG `

Output:

```20 14 8 2 -4 2 8 14 20
```

Please refer complete article on Print Number series without using any loop for more details!

My Personal Notes arrow_drop_up
Article Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.