首页 > 试题广场 >

进制间转换

[编程题]进制间转换
  • 热度指数:7901 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
设计一个函数, 可以将任意十进制的数, 转换成任意2到9的进制表示的形式

输入描述:
需要转换的数字x(0<=x<=1e18) 转换使用的进制k(2<=k<=9)


输出描述:
对应进制的结果
示例1

输入

33 2

输出

100001
public class Main{

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            long num = sc.nextLong();
            int k = sc.nextInt();
            System.out.println(transfer(num, k));
        }
    }

    public static String transfer(long num, int k) {
        if (num == 0) return "0";
        StringBuilder sb = new StringBuilder();
        while (num != 0) {
            sb.append(num % k);
            num /= k;
        }
        return sb.reverse().toString();
    }

}

发表于 2023-03-04 18:11:53 回复(0)
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        long num = sc.nextLong();
        long j = sc.nextInt();
        long z, y;
        ArrayList<Long> res = new ArrayList<>();
        if(num == 0){
            System.out.println(0);
        }else{
            while(num != 0){
                z = num/j;
                y = num%j;
                res.add(y);
                num = z;
            }
            Collections.reverse(res);
        }

        for (long n: res) {
            System.out.print(n);
        }

    }
}

发表于 2021-09-08 15:40:14 回复(0)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        long x = scanner.nextLong();
        long k = scanner.nextLong();
        System.out.println(radix(x, k));
    }

    private static String radix(long x, long k) {
        StringBuilder sb = new StringBuilder();
        if (x == 0) {
            sb.append(0);
        }
        while (x != 0) {
            sb.append(x % k);
            x /= k;
        }
        return sb.reverse().toString();
    }
}
发表于 2019-07-08 15:30:57 回复(0)