c++ 怎样用递归求n的n次方?

来源:百度知道 编辑:UC知道 时间:2024/06/02 11:19:45
没有思路啊,哪位大侠给个最基本的算法就行了,当然,如果有具体的程序更好啦,先谢谢大家了。

虽然楼上已有很多,但我着也有一个,参考参考嘛!
#include<iostream.h>
int k;
int cal(int n)
{
if(n==1)
return k;
else
return k*cal(n-1);
}

int main()
{
int n;
cout<<"please input the value of n(bigger than 0):"<<endl;
cin>>n;
k=n;
cout<<n<<"的"<<n<<"次方为"<<cal(n);
system ("pause");
return 0;
}
用dev c++运行成功!
提示:递归很浪费内存,并且效率低,少用!

#include <iostream.h>
long fun(int n,int m)
{
static int i;
if(m == 1) return n;
if(i < n)
{
return n*fun(n,m-1);
i++;
}
}
int main()
{
int n;
long s;
cin>>n;
s = fun(n,n);
cout<<s<<endl;
return 0;
}

int Calc(int n, int pow)
{
if(pow == 0) return 1;
return n*Calc(n, pow-1);
}
这里是求n的pow次方