利用递归方法解决进制转化以及转化二次幂数值的问题
一:题目要求:
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:测试及调试:
四:总结与归纳:
此次作业中我最大的收获便是,知道了面对问题是如何用递归的方法来解题。重点主要分为两步:首先对原问题进行分析,假设出合理的较小问题,给出原问题的解和所得出的较小问题之间的关系;然后确定特殊情况下问题的解并以此作为出口。利用条件语句将两部分联系起来便得到整个函数。
通俗的讲,便是首先对问题进行分析,然后利用函数表达式的形式对问题中的思想进行阐述;而具体如何写数学表达式呢?我们可以从问题的特殊情况入手,先求出其特殊值,然后从特殊情况延伸至一般情况,写出一般情况下的表达式。接下来要做的便是利用条件语句来编程,将数学表达式的思想阐述下来。