美文网首页
华为机考题 | 将整数转化为七进制输出----python实现

华为机考题 | 将整数转化为七进制输出----python实现

作者: 金融测试民工 | 来源:发表于2020-02-16 11:38 被阅读0次

题目描述

    给定一个整数,将其转化为7进制,并以字符串形式输出。

示例 1:

输入: 100

输出: "202"

示例 2:

输入: -7

输出: "-10"

注意: 输入范围是 [-1e7, 1e7] 。

解题思路:

    根据二进制短除法的转换方法,类比到七进制的实现:

七进制算法

    当最后一位小于7时,代表着可以写入新的七进制数,不在进行运算,七进制数为最后的商开始读,由下往上依次读取余数。

算法设计:依次计算num与7的商作为七进制的一位,存储到列表中,num整除7进行更新,直到小于7退出循环。根据短除法可知,此处少了最后的商,两种解决思路:一是改变循环条件,再除一次,此时的余数添加成功,且商一定会变为0,退出循环;二是在循环结束添加商。同时用列表存储的七进制数与真实的七进制数方向正好相反,进行一次简单的调整方向即可。

    此处仅考虑了正数,当出现负数时,可将其进行标记后转为负数,最后在列表的最后添加负号在进行调整方向即可。

代码如下:

class Solution:

    def convertToBase7(self,num: int)-> str:

        base7 =[]

        if num < 0:

            flag = 1

            num = -num

        else:

            flag = 0

        while num >= 7:

            fig = str(num % 7)

            base7.append(fig)

            num = num // 7

        base7.append(str(num))

        if flag:

            base7.append('-')

        base7.reverse()

        return ''.join(base7)

相关文章

  • 华为机考题 | 将整数转化为七进制输出----python实现

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

  • 数字的补数

    题目: 题目的理解: 将整数转化为二进制字符串,然后将1和0交换。 python实现 提交 // END 有些时候...

  • 504-七进制数

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

  • 汉明距离

    题目: 题目的理解: 将整数转化为二进制,然后再转化为字符串,进行字符串比较,得到不同的位数。 python实现 ...

  • 颠倒二进制位

    题目: 题目的理解: 将整数转化为二进制的字符串,然后前补0后转化为数组,颠倒数组后再转化为整数。 python实...

  • gbk,utf-8,unicode编码转换

    1、将字符串'024f'转化为unicode字符,先将字符转化为16进制整数 输出结果:24f 024f,一般选择...

  • 华为机考题 | 大整数相乘----Python实现

    题目描述 有两个用字符串表示的非常大的大整数,算出他们的乘积,也是用字符串表示。不能用系统自带的大整数类型。 输入...

  • 504-七进制数

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

  • 机试常用算法和题型-进制转换专题

    使用sscanf将字符数组转为整型的办法 字符串到整数 整数到字符串(十进制转字符串) 十进制转其他进制 其他进制...

  • 二进制、十进制互转

    十进制整数 转 二进制数组 二进制字符串 转 十进制整数 二进制数组 转 十进制整数

网友评论

      本文标题:华为机考题 | 将整数转化为七进制输出----python实现

      本文链接:https://www.haomeiwen.com/subject/wydpfhtx.html