Problem:
1. You are given a number n.Input Format
2. You are given a base b1. n is a number on base b.
3. You are given another base b2.
4. You are required to convert the number n of base b1 to a number in base b2.
A number nOutput Format
A base b1
A base b2
A number of base b2 equal in value to n of base b1.
Constraints
0 <= n <= 512
2 <= b1 <= 10
2 <= b2 <= 10
Sample Input
111001
2
3
Sample Output
2010
Solution:
import java.util.*;
public class Main{
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 newN = convertNumber(n,sourceBase,10);
if(destBase != 10)
newN = convertNumber(newN,10,destBase);
System.out.println(newN);
}
public static int convertNumber(int n,int sourceBase,int destBase){
int pow=1,newN=0;
while(n>0){
newN += (n%destBase) * pow;
pow *= sourceBase;
n/=destBase;
}
return newN;
}
}
Comments
Post a Comment