不是,99的阶乘是认真的嘛?
double jc(int n)
{
double a = 1;
for (int i = 1; i <= n; i++)
a *= i;
return a;
}
void main()
{
double d = 0;
for (int i = 1; i <= 99; i += 2)
d += jc(i);
printf("%e", d);
}
先用循环求阶乘,再相加求和即可
sum是和,fact是阶乘
i<=97是因为目标数是99,我们每次都乘到i+2,所以i最大到97即可
int Result()
{
int sum = 1, fact = 1;
int i;
for (i = 1; i<=97; i+=2)
{
fact *= (i + 1) * (i + 2);//等同于fact = fact * (i + 1) * (i + 2);
sum += fact;//等同于 sum = sum + fact;
}
return sum;
}