From 040c07bc970d28fa3034a7ee776751033addc3e2 Mon Sep 17 00:00:00 2001 From: Japneet Kaur Bhatia <56752427+japneetbhatia@users.noreply.github.com> Date: Fri, 21 Oct 2022 11:09:58 +0530 Subject: [PATCH] Create anyBaseToAnyBaseConversion.java --- .../anyBaseToAnyBaseConversion.java | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 Data_Structures/anyBaseToAnyBaseConversion.java diff --git a/Data_Structures/anyBaseToAnyBaseConversion.java b/Data_Structures/anyBaseToAnyBaseConversion.java new file mode 100644 index 0000000..fe5444c --- /dev/null +++ b/Data_Structures/anyBaseToAnyBaseConversion.java @@ -0,0 +1,41 @@ +class anyBaseToAnyBaseConversion{ + + public static void main(String[] args) { + Scanner scn = new Scanner(System.in); + int n = scn.nextInt(); + int sourceBase = scn.nextInt(); + int destBase = scn.nextInt(); + + int ans = getValueIndecimal(n, sourceBase); + System.out.print(getValueInBase(ans, destBase)); + } + + // ANY BASE TO DECIMAL + public static int getValueIndecimal(int n, int b) { + int res = 0; + int pow = 1; + while(n != 0) { + int rem = n % 10; + n /= 10; + res += rem*pow; + pow *= b; + } + return res; + } + + // DECIMAL TO ANY BASE + public static int getValueInBase(int n, int b) { + int res = 0; + int pow = 1; + while(n != 0) { + int rem = n % b; + n /= b; + res += rem*pow; + pow *= 10; + } + return res; + } +} + +//Time Complexity: O(N) +//Auxiliary Space: O(1)