//本文内容来自StarSight,欢迎访问。
Given an integer, return its base 7 string representation.
Example 1:
Input: 100 Output: "202"
Example 2:
Input: -7 Output: "-10"
Note: The input will be in range of [-1e7, 1e7].
其实就是7进制表示。
boolean isZ =true;
int x = 0;
String base ="";
int bit = 9;
if(num<0)
isZ=false;
num = Math.abs(num);
for(;bit>0;){
if(Math.pow(7,bit)>num)
bit--;
else
break;
}
for(int i=bit;i>=0;i--){
x =(int)(num /Math.pow(7,i));
num -= (int)(x*Math.pow(7,i));
base +=x;
}
if(!isZ)
base="-"+base;
return base;
另一种科学实现:
来自:http://blog.youkuaiyun.com/mcf171/article/details/55003173
public class Solution {
public String convertTo7(int num) {
StringBuffer sb = new StringBuffer("");
if(num == 0) return "0";
boolean flag = num > 0 ? false : true;
num = Math.abs(num);
while(num != 0){
sb.insert(0,num%7);
num /= 7;
}
if(flag)sb.insert(0,"-");
return sb.toString();
}
}