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
Explanation – We can do this using the idea of ??recursion, that is, we call the function again and again until N is greater than zero (in each function call, we subtract K from N). Once the number becomes negative or zero, we start adding K to each function call until the number becomes the original number. Here, we use a single function for addition and subtraction, but in order to switch between addition or subtraction functions, we use Boolean flags.
// 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
Australia
UK
UAE
Singapore
Canada
New
Zealand
Malaysia
USA
India
South
Africa
Ireland
Saudi
Arab
Qatar
Kuwait
Hongkong
Copyright 2016-2023 www.programmingshark.com - All Rights Reserved.
Disclaimer : Any type of help and guidance service given by us is just for reference purpose. We never ask any of our clients to submit our solution guide as it is, anywhere.