您的位置:首页 > 其它

进制转换 十转任意进制(最优解)

2018-01-15 22:08 295 查看
看到这个算法的时候真的没有办法形容我的心情。

如果世界上有那个进制转换算法出现过,其他进制转换算法都会变成将就。

而我不愿意将就。

这就是那个算法

这是小姐姐的牛客主页,代码来自于讨论区

https://www.nowcoder.com/profile/1242799

题意 将十进制的m转化为n进制的数并输出

0的特判,正负数均可

import java.util.Scanner;

public class Main{
public static void main(String[] args) {
String s = "";
//这是16进制的进制表,如果想扩充只要修改这个字符串就可以
char[] table = "0123456789ABCDEF".toCharArray();
//36进制进制表
//char[] table = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray();
Scanner input = new Scanner(System.in);
int m = input.nextInt();
int n = input.nextInt();

while (m != 0) {
if (m < 0) {
m = -m;
System.out.print("-");
}
s = table[m % n] + s;
m /= n;
}
System.out.println(s.equals("") ? 0 : s);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: