[算法]十进制整数转八进制

题目

如题

题解

  • 十进制转八进制:数字每次对8取余下是最后一位,然后数字/8,这样依次计算,知道/8=0;借助栈得到最终八进制数。
    另:八进制转十进制:例:八进制:35=>十进制数:5*(80)+3*(81)

代码

import java.util.Scanner;
import java.util.Stack;

public class DecToOct {
	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		int num = s.nextInt();
		int octNum = decToOct(num);
		System.out.print(octNum);
	}

	public static int decToOct(int num) {
		int tempNum = num;
		Stack<Integer> stack = new Stack<>();
		while (tempNum != 0) {
			int n = tempNum % 8;
			stack.push(n);
			tempNum /= 8;
		}

		int octNum = 0;
		while (!stack.isEmpty()) {
			int n = stack.pop();
			octNum = octNum * 10 + n;
		}
		return octNum;
	}
}

posted on   coding_gaga  阅读(3392)  评论(0编辑  收藏  举报

编辑推荐:
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
阅读排行:
· 从零开始开发一个 MCP Server!
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Ai满嘴顺口溜,想考研?浪费我几个小时
· Browser-use 详细介绍&使用文档
历史上的今天:
2019-05-28 [POJ]Find The Multiple(DFS)
2019-05-28 [补题]求a[i]+a[j]+i-j的最大值,要求i<j
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示