【发布时间】:2017-05-07 20:06:58
【问题描述】:
我正在尝试用递归函数计算 x 的指数函数。指数函数是从 this equation 计算出来的。
我将指数函数分为两部分,第一部分是Fracture
(我用底部的递归函数计算出来,然后把这部分放在main函数的while循环中,求0到N的总和
由于我是 c 初学者,我的英语并不完美,请用简单的方式解释我的错误。
提前致谢.....
#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<math.h>
#include<conio.h>
double faktoriyel(double x,double N);
int main(){
double N, x, a;
double s = 0;
scanf("%lf", &x);
scanf("%lf", &N);
a = N;
do
{
s += faktoriyel(x, N);
--a;
}while (a > 0);
printf("\n%lf\n", s);
}
double faktoriyel(double x, double N)
{
if (N < 0)
return -1;
else if (N < 2)
return pow(x, N) / 1;
else
return (pow(x, N) / N * faktoriyel(x, N - 1));
}
【问题讨论】:
-
看不到必要的图像。请正确发布您的问题。
-
@GAURANGVYAS:该网站的新用户不能发布图片。总的来说,图像并没有真正受到鼓励,但责怪新人没有让它们可见是不公平的。
-
请注意,您发布的等式中有一个错误(x 平方项的除数错误;它应该是 2!而不是 1!)。昨天也有人(可能是你;鉴于在两者中都使用了函数名称
faktoriyel,可能是你)也发布了相同的(有问题的)方程式。