C++写一个程序,该程序要求一个数和一个幂。写一个函数求该数的幂运算结果。

来源:百度知道 编辑:UC知道 时间:2024/06/02 17:08:17
我的表哥给我的答案:
inr f(int a,int n)
{
int mum;
if(n==1)num=a;
else num=f(a,n-1)*a;
return(num)
}
main()
{
using namespace std;
int a,n;
cin>>a>>n
cout<<f(a,n);
}

整个F函数的定义是什么意思
那句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

你应该学习一下递归.

接收2个整型参数,返回值是整型。

F是个递归函数,查一下递归函数的相关资料吧!