//进制转换
public class RadixChange1 {
public static void main(String[] args) {
Scanner can = new Scanner(System.in);
try {
String strs = can.nextLine();
//将输入的字符串转换成数字,存放到数组中
int[] nums = parseToIntArrs(strs);
//进制转换数组中的每个数
getResult(nums);
}finally{
can.close();
}
}
//进制转换数组中的每个数
private static void getResult(int[] nums) {
//循环开始依次转换
for (int i : nums) {
changeNums(i);
}
}
//从2开始到i-1依次转换
private static void changeNums(int i) {
int num = 0;
for (int j = 2; j < i; j++) {
toJRadix(i,j);
}
}
/*
* 把数字num转化为j进制,得到转换结果的位数
*/
private static int toJRadix(int num,int j) {
StringBuffer sb = new StringBuffer();
int sum = 0;
while(num != 0){
int yu = num%j;
sb.append(yu);
sum += num%j;
num /= j;
}
System.out.println(j + "-------" + sb.reverse().toString());
return sum;
}
private static int[] parseToIntArrs(String strs) {
String[] sts =strs.split(" ");
int[] is = new int[sts.length];
for (int i = 0; i < sts.length; i++) {
is[i] = Integer.parseInt(sts[i]);
}
return is;
}
}
将一个数转换成小于它的任意进制(java版)
猜你喜欢
转载自blog.csdn.net/qq_33824312/article/details/74942729
今日推荐
周排行