//本文内容来自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.csdn.net/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(); } }