首先纠正一下,C语言不能重载同名函数,C++也不能仅以返回值的区别来重载。所以可以统一使用double
成都创新互联公司专注于陵川网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供陵川营销型网站建设,陵川网站制作、陵川网页设计、陵川网站官网定制、小程序设计服务,打造陵川网络公司原创品牌,更为您提供陵川网站排名全网营销落地服务。
recursive_pow_pos(int
n,
int
m)。
我帮你做了个示范,应该很容易看懂。
(注意,0^0=1,这是规定,也是合理的)
#include
double
recursive_pow_pos(int
n,
int
m)
{
register
double
t;
if
(m
==
0)
return
1.0;
if
(m
0)
return
1.0
/
recursive_pow_pos(n,
-m);
t
=
recursive_pow_pos(n,
m
/
2);
if
(m
%
2)
return
t
*
t
*
(double)n;
else
return
t
*
t;
}
int
main(void)
{
int
n,
m;
double
result;
double
recursive_pow_pos(int,
int);
printf("Input
n-");
scanf("%d",
n);
printf("Input
m-");
scanf("%d",
m);
result
=
recursive_pow_pos(n,
m);
printf("%d
^
%d
=
%f\n",
n,
m,
result);
return
0;
}
long fun(int m,int n)
{
long f;
if(n1) f=m*fun(m,n-1);
else f=m
return f;
}
mn是什么啊?
天!发的图片还没有这里说的清楚呢!
mn是m*n吗难道?
#includestdio.h
double power(int m,int n)
{
if (n0)
return (double)1/power(m,-n);
if (n==0)
return 1;
return m*power(m,n-1);
}
int main()
{
int m,n;
scanf("%d%d",m,n);
printf("%f\n",power(m,n));
return 0;
}
可以计算n0的情况