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

Posted 舞动的心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法笔记_161:算法提高 十进制数转八进制数(Java)相关的知识,希望对你有一定的参考价值。

目录

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)的主要内容,如果未能解决你的问题,请参考以下文章

怎样编写一程序:把一个十进制数转换成三进制数啊

Java_数组之进制转换

数制之非十进制数转十进制数

Java十进制数转二进制的方法

Java实现十进制数转十六进制数

LeetCode 面试题 05.02. 二进制数转字符串