怎么编写一个递归函数???

来源:百度知道 编辑:UC知道 时间:2024/06/22 12:38:58
编写一个递归函数unsigned long power(unsigned int q,unsigned int n),求q的n次方。并调用该函数求2的10次方。

#include<stdio.h>

unsigned long power( unsigned int q,unsigned int n );

int main()
{
unsigned int number;
unsigned int n;

printf( "输入你的底数: " );
scanf( "%d", &number );
printf( "输入你的次数: " );
scanf( "%d", &n );

printf( "%d\n", power( number, n ) );

return 0;
}
unsigned long power( unsigned int q,unsigned int n )
{
int s = 1;
s = q * s;

if( n == 0 )
{
return 1;
}
if( n == 1 )
{
return q;
}
else
{
return q * power( q, --n );
}

}

#include <iostream>

unsigned long power(unsigned int q, unsigned int n)
{
if (n == 0)
return 1;
else if (n == 1)
return q;
else
return q * power(q, --n);
}

void main()
{
std::cout << power(2, 10