算法----七进制数
题目
给定一个整数,将其转化为7进制,并以字符串形式输出。示例 1:输入: 100
输出: "202"
示例 2:输入: -7
输出: "-10"
知识补充:
十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为0时为止。然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。举例来说:87转换为二进制:87÷2=43余143÷2=21余121÷2=10余110÷2=5 余05÷2=2余12÷2=1余01÷2=0余1从下往上取余数1010111。所以,87[10]=1010111[2].
解决方法:
public static String convertToBase7(int num) {int temp = 0;boolean need = num < 0;if(num == 0){return "0";}StringBuffer stringBuffer = new StringBuffer();num = Math.abs(num);while (num != 0 ){temp = num % 7;stringBuffer.append(temp);num = num / 7;}if (need){stringBuffer.append("-");}return stringBuffer.reverse().toString();}
解决方法二:
class Solution {public String convertToBase7(int num) {if(num<0)return "-"+convertToBase7(num*-1);if(num<7)return num+"";return convertToBase7(num/7)+convertToBase7(num%7);}
}
思考:
对于一些场景,一般来说使用循环可以实现,那么使用递归都可以实现。递归的实现,相对比比较强巧妙和易于理解,尤其是有顺序依赖关系的循环。
算法----七进制数相关推荐
- leetcode 504. 七进制数(Java版)
题目 https://leetcode-cn.com/problems/base-7/ 题解 经典的进制转化.此思路可以拓展至 10 进制转 n 进制. public class Solution { ...
- LeetCode 504. 七进制数(进制转换)
1. 题目 给定一个整数,将其转化为7进制,并以字符串形式输出. 示例 1: 输入: 100 输出: "202"示例 2: 输入: -7 输出: "-10" 注 ...
- 【进击大厂之力扣每日打卡】七进制数
题目描述 给定一个整数 num,将其转化为 7 进制,并以字符串形式输出. 示例 示例1: 输入: num = 100 输出: "202" 示例2: 输入: num = -7 输出 ...
- leetcode算法题--七进制数
原文链接:https://leetcode-cn.com/problems/base-7/ string convertToBase7(int num) {string res;bool is_neg ...
- 「 每日一练,快乐水题 」504. 七进制数
文章目录
- SCAU华南农业大学-数电实验-七进制同步加法计数器-实验报告
一.Purpose 1.利用数字电路的知识,用74LS73或74LS74(即D触发器或JK触发器)和各种逻辑门实现七进制同步加法计数器. 2.锻炼实验操作技能,使之更熟练. 二.Devices Equ ...
- 十进制数转化为任意进制数n,采用变量N、数组A[]进行存储两种算法实例
进制转化的核心代码为:(a 为输入的十进制数,n为需要转换的进制数,temp为变量进行存值) //先假设将a全部囤在个位数上,依次将a处理进行升位处理 temp = a %n; //利用求余公式,求出 ...
- 进制数转换器的VB算法实现(2/8/10/16进制数可以相互转换)
在VB6中新建一个工程,当前窗体默认为form1,添加一个框架控件frame.几个文本框控件text.几个标签控件label.两个timer计时器.三个按钮控件.添加一个窗体form2.一个模块mod ...
- 10进制转换为16进制数——算法
10进制转换为16进制数 题目描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式.它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至 ...
最新文章
- 室内+室外激光SLAM关键算法、代码和实战剖析正式开课(cartographer+LOAM+ LIO-SAM)
- lua学习笔记之协程
- python封装类在当前文件中使用_name_下调用不了_学python中对于类怎么也不明白,对了是看到简明教程11章,类与变量的对象....想要通俗易懂的答案....
- 零拷贝、mmap、sendfile
- 把a文件删除b文件中的相同的行
- 区块链技术应用——站在风口上猪都会飞
- linux之使用cron,logrotate管理日志文件
- 飞桨paddlepaddle论文复现——BigGAN论文翻译解读
- 投资 - 什么是EBITDA
- 计算机网络什么是互联网什么是网速,网速慢是什么原因怎么解决?
- qiniuLive 连麦流程介绍
- 常见的行业认证和资质清单介绍
- java编程自学教程笔记,大量教程
- 响铃:云计算的时代 2.0的江湖 百度的新赛道战术
- 提供优质客户服务的5种方法
- vertical-align属性的简单理解
- python 0x80070659系统策略禁止这个安装
- python中文词典构建_python-构建英语学习词典
- LU分解,LDLT分解,Cholesky分解
- AI比赛-推荐系统(一)-新闻推荐03:多路召回【用不同策略分别召回部分候选集,然后把候选集混在一起供后续排序模型使用】【①、YoutubeDNN双塔召回;②、基于物品召回;③、基于用户召回】【天池】
热门文章
- 小米五android o卡吗,【图片】小米5优化教程,吃鸡卡的进来!!!_小米5吧_百度贴吧...
- C++知识点29——使用C++标准库(迭代器适配器)
- 人生苦短,我用python+vscode
- mysql中group concat_mysql中group_concat()函数的使用方法总结
- python时间序列峰值检测_python – 二维数组中的峰值检测
- rz sz命令_5分钟学linux命令之split
- .net 程序加密方法
- Centos下运行gpg --gen-key生成key时出现卡住解决方案笔记
- 006-spring cache-缓存实现-01-原生实现
- 三星自动驾驶汽车路测获批,进军无人驾驶领域