/*
给定一个整数,将其转化为7进制,并以字符串形式输出。
示例 1:
输入: 100
输出: "202"
示例 2:
输入: -7
输出: "-10"
注意: 输入范围是?[-1e7, 1e7] 。
*/
public class Solution {
public static String convertToBase7(int num) {
if(num==0) return String.valueOf(0); //传进来的数字是0则就返回0
Integer i=num; //定义一个变量接收传进来的整数
if(num<0){ //如果num小于0的话,i就乘以-1方便后面好操作
i*=-1;
}
String n = ""; //返回值n
while(i!=0) { //迭代i!=0时成立
n=String.valueOf(i%7)+n; //i除7取余,转换为字符在拼接变量n
i=i/7; //i除以7赋值给自己
}
if(num<0){
n="-"+n; //num为负数那就在转换回去,对应上面的i*=-1
}
return n; //返回7进制
}
//下面是测试代码
public static void main(String[]args) {
System.out.println(Solution.convertToBase7(-150));// 通过-303
System.out.println(Solution.convertToBase7(-100));// 通过-202
System.out.println(Solution.convertToBase7(150));// 通过303
System.out.println(Solution.convertToBase7(100));// 通202
System.out.println(Solution.convertToBase7(-7));// 通过-10
System.out.println(Solution.convertToBase7(300));// 通过606
System.out.println(Solution.convertToBase7(0));// 通过0
System.out.println(Solution.convertToBase7(3));// 通过3
System.out.println(Solution.convertToBase7(-1000));// 通过-2626
System.out.println(Solution.convertToBase7(-7000));// 通过-26260
}
}