数据结构与算法(十五)

递归的应用:任意进制转换

#学自北京大学陈斌老师


前言:

递归三定律的回顾:

❖为了向阿西莫夫的“机器人三定律”致敬
,递归算法也总结出“三定律”
1,递归算法必须有一个基本结束条件(最小规模问题的直接解决)
2,递归算法必须能改变状态向基本结束条件演进(减小问题规模)
3,递归算法必须调用自身(解决减小了规模的相同问题)

一、三定律与进制转换的关联?

基本结束条件:
余数小于“进制基base”(要转换成n进制的n),是“基本结束条件”,可直接进行查表转换
减小问题规模+调用自身:
整数商成为“更小规模”问题,通过递归调用自
身解决

二、程序代码:

#十进制转换为任意进制
def tenton(num,n):
    convertString = "0123456789ABCDEF"
    if num < n:
        return convertString[num]
    else:
        return convertString[num%n] + tenton(num//n,n)   ```


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值