利用递归方法解决进制转化以及转化二次幂数值的问题

一:题目要求:

1:基础题目:

将非负十进制整数n转化为b进制,其中b=2~16.

2:提高题目:

利用递归方法,将任一正整数n用2的n幂次方来表示,并且幂次方亦由括号来表示。

比如137可表示为: 2(7)+2(3)+2(0);

又因为:7=22+2+20;并且3=2+2^0;所以最后137可表示为:2(2(2)+2+2(0))+2(2+2(0))+2(0)

二:基础题目要求:

1:递归出口与递归体函数的设计:

利用递归方法解决进制转化以及转化二次幂数值的问题
2:测试与调试(递归):

利用递归方法解决进制转化以及转化二次幂数值的问题
利用递归方法解决进制转化以及转化二次幂数值的问题
3:非递归方法的实现:
利用递归方法解决进制转化以及转化二次幂数值的问题
利用递归方法解决进制转化以及转化二次幂数值的问题

4:递归方法的测试代码
利用递归方法解决进制转化以及转化二次幂数值的问题

三:提高题目要求:

1:测试及调试:
利用递归方法解决进制转化以及转化二次幂数值的问题
利用递归方法解决进制转化以及转化二次幂数值的问题
利用递归方法解决进制转化以及转化二次幂数值的问题

四:总结与归纳:

此次作业中我最大的收获便是,知道了面对问题是如何用递归的方法来解题。重点主要分为两步:首先对原问题进行分析,假设出合理的较小问题,给出原问题的解和所得出的较小问题之间的关系;然后确定特殊情况下问题的解并以此作为出口。利用条件语句将两部分联系起来便得到整个函数。

通俗的讲,便是首先对问题进行分析,然后利用函数表达式的形式对问题中的思想进行阐述;而具体如何写数学表达式呢?我们可以从问题的特殊情况入手,先求出其特殊值,然后从特殊情况延伸至一般情况,写出一般情况下的表达式。接下来要做的便是利用条件语句来编程,将数学表达式的思想阐述下来。