码迷,mamicode.com
首页 > 编程语言 > 详细

算法笔记_161:算法提高 十进制数转八进制数(Java)

时间:2017-04-29 17:42:18      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:[]   sys   nbsp   png   href   lis   程序   port   print   

目录

1 问题描述

2 解决方案

 


1 问题描述

编写函数,其功能为把一个十进制数转换为其对应的八进制数。程序读入一个十进制数,调用该函数实现数制转换后,输出对应的八进制数。

样例输入
9274
样例输出
22072 样例输入
18
样例输出
22

 

 


2 解决方案

技术分享

具体代码如下:

 

import java.util.ArrayList;
import java.util.Scanner;

public class Main {
    
    public static void main(String[] args) {
        ArrayList<Long> list = new ArrayList<Long>();
        Scanner in = new Scanner(System.in);
        long n = in.nextLong();
        while(n > 0) {
            long temp = n % 2;
            n = n / 2;
            list.add(temp);
        }
        int len = list.size();
        if(len % 3 == 1) {
            list.add(0L);
            list.add(0L);
        } else if(len % 3 == 2) {
            list.add(0L);
        }
        len = list.size() / 3;
        long[] result = new long[len];
        int count = 0;
        for(int i = list.size() - 1;i >= 0;i = i - 3) {
            long a = list.get(i) * 2 * 2;
            long b = list.get(i - 1) * 2;
            long c = list.get(i - 2);
            result[count++] = a + b + c;
        }
        for(int i = 0;i < result.length;i++)
            System.out.print(result[i]);
    }
}

 

算法笔记_161:算法提高 十进制数转八进制数(Java)

标签:[]   sys   nbsp   png   href   lis   程序   port   print   

原文地址:http://www.cnblogs.com/liuzhen1995/p/6785558.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!