题目

给定一个整数,将其转化为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);}
}

思考:

对于一些场景,一般来说使用循环可以实现,那么使用递归都可以实现。递归的实现,相对比比较强巧妙和易于理解,尤其是有顺序依赖关系的循环。

算法----七进制数相关推荐

  1. leetcode 504. 七进制数(Java版)

    题目 https://leetcode-cn.com/problems/base-7/ 题解 经典的进制转化.此思路可以拓展至 10 进制转 n 进制. public class Solution { ...

  2. LeetCode 504. 七进制数(进制转换)

    1. 题目 给定一个整数,将其转化为7进制,并以字符串形式输出. 示例 1: 输入: 100 输出: "202"示例 2: 输入: -7 输出: "-10" 注 ...

  3. 【进击大厂之力扣每日打卡】七进制数

    题目描述 给定一个整数 num,将其转化为 7 进制,并以字符串形式输出. 示例 示例1: 输入: num = 100 输出: "202" 示例2: 输入: num = -7 输出 ...

  4. leetcode算法题--七进制数

    原文链接:https://leetcode-cn.com/problems/base-7/ string convertToBase7(int num) {string res;bool is_neg ...

  5. 「 每日一练,快乐水题 」504. 七进制数

    文章目录

  6. SCAU华南农业大学-数电实验-七进制同步加法计数器-实验报告

    一.Purpose 1.利用数字电路的知识,用74LS73或74LS74(即D触发器或JK触发器)和各种逻辑门实现七进制同步加法计数器. 2.锻炼实验操作技能,使之更熟练. 二.Devices Equ ...

  7. 十进制数转化为任意进制数n,采用变量N、数组A[]进行存储两种算法实例

    进制转化的核心代码为:(a 为输入的十进制数,n为需要转换的进制数,temp为变量进行存值) //先假设将a全部囤在个位数上,依次将a处理进行升位处理 temp = a %n; //利用求余公式,求出 ...

  8. 进制数转换器的VB算法实现(2/8/10/16进制数可以相互转换)

    在VB6中新建一个工程,当前窗体默认为form1,添加一个框架控件frame.几个文本框控件text.几个标签控件label.两个timer计时器.三个按钮控件.添加一个窗体form2.一个模块mod ...

  9. 10进制转换为16进制数——算法

    10进制转换为16进制数 题目描述 ​ 十六进制数是在程序设计时经常要使用到的一种整数的表示方式.它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至 ...

最新文章

  1. 室内+室外激光SLAM关键算法、代码和实战剖析正式开课(cartographer+LOAM+ LIO-SAM)
  2. lua学习笔记之协程
  3. python封装类在当前文件中使用_name_下调用不了_学python中对于类怎么也不明白,对了是看到简明教程11章,类与变量的对象....想要通俗易懂的答案....
  4. 零拷贝、mmap、sendfile
  5. 把a文件删除b文件中的相同的行
  6. 区块链技术应用——站在风口上猪都会飞
  7. linux之使用cron,logrotate管理日志文件
  8. 飞桨paddlepaddle论文复现——BigGAN论文翻译解读
  9. 投资 - 什么是EBITDA
  10. 计算机网络什么是互联网什么是网速,网速慢是什么原因怎么解决?
  11. qiniuLive 连麦流程介绍
  12. 常见的行业认证和资质清单介绍
  13. java编程自学教程笔记,大量教程
  14. 响铃:云计算的时代 2.0的江湖 百度的新赛道战术
  15. 提供优质客户服务的5种方法
  16. vertical-align属性的简单理解
  17. python 0x80070659系统策略禁止这个安装
  18. python中文词典构建_python-构建英语学习词典
  19. LU分解,LDLT分解,Cholesky分解
  20. AI比赛-推荐系统(一)-新闻推荐03:多路召回【用不同策略分别召回部分候选集,然后把候选集混在一起供后续排序模型使用】【①、YoutubeDNN双塔召回;②、基于物品召回;③、基于用户召回】【天池】

热门文章

  1. 小米五android o卡吗,【图片】小米5优化教程,吃鸡卡的进来!!!_小米5吧_百度贴吧...
  2. C++知识点29——使用C++标准库(迭代器适配器)
  3. 人生苦短,我用python+vscode
  4. mysql中group concat_mysql中group_concat()函数的使用方法总结
  5. python时间序列峰值检测_python – 二维数组中的峰值检测
  6. rz sz命令_5分钟学linux命令之split
  7. .net 程序加密方法
  8. Centos下运行gpg --gen-key生成key时出现卡住解决方案笔记
  9. 006-spring cache-缓存实现-01-原生实现
  10. 三星自动驾驶汽车路测获批,进军无人驾驶领域