递归 整数转换为任意进制递归算法

递归 整数转换为任意进制递归算法,第1张

概述递归 整数转换为任意进制递归算法

把整数转换成十进制过程

十进制有是个不同的符号:

conv_string="0123456789"

计算过程

比十小的整数,转换成十进制,直接查找conv_string:conv_string[n]

@H_419_18@

比十大的整数,拆成一系列比十小的整数,逐个查表,如769,拆成7,6,9查表可以得到769。

@H_419_18@

递归写法

套用递归订定律,找到递归的“基本结束条件”:小于十的整数

@H_419_18@

使用整数除和求余数两个计算将整数一步步拆开。

@H_419_18@

除以“进制基base” (// base)

对“进制基”求余数 (% base)

问题分解:

798798 → 798//10 + '8'79  → 79 //10 + '9'7   → 7 <10   →‘7’

代码:

def toStr(n,base):    convert_string='0123456789ABCDEF'    if n<base:        return convert_string[n]    return toStr(n //base,base)+convert_string[n % base]print(toStr(1000,10))print(toStr(1000,8))print(toStr(1000,16))

输出结果

1000175010003E8


总结

以上是内存溢出为你收集整理的递归 整数转换为任意进制递归算法全部内容,希望文章能够帮你解决递归 整数转换为任意进制递归算法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/1198449.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存