刚学C++大哥大姐帮下忙

来源:百度知道 编辑:UC知道 时间:2024/05/14 14:53:53
intF(int a,int n)
{
int num;
if(n==1) num=a;
else num=f(a,n-1)*a;
return(num);

num =f(a,n-1)*a
是什么意思啊

求f函数是求一个数a的n次幂,使用的是递归方法。

先分析一下程序:
a的n次幂等于a乘以a的n-1次幂,即a^n = a * a^(n - 1)
a的n-1次幂等于a诚意a的n-2次幂,即a^(n - 1) = a * a^(n - 2)
num=f(a,n-1)*a这个就是以上式子的公式。

if(n==1)num=a;
当n = 1,即a的1次幂时,num = a;
这个就是递归结束的条件

递归的代码简洁,但是理解起来会有困难,如果不能理解递归的问题,可以将一个小一些的数代入递归函数里,然后自己把每步写出来看看。

感觉f(a,n-1)是个函数阿
有没有整段的程序阿,这就是全部么?
全部发上来好么?

一楼正解