504. Base 7

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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值