// 求数列的前n项之和,数列初始元素为1/2
//下一元素的分子是上一元素的分母
//下一元素的分母是上一元素的分子分母绝对值之和
//偶数项为负,奇数项为正
double sum(unsigned int n)
{
int i = 0;
double sum = 0;
double numerator, denominator, tmp;
numerator = 1.0; //分子
denominator = 2.0; //分母
if (n <= 0)
return 0;
sum = 0.5; // 1/2 数列中第一个元素,分子为1, 分母为2
for (i = 1; i < n; ++i)
{
if (i % 2 == 0)
{
sum += denominator / (denominator + numerator);
}
else
{
sum -= denominator / (denominator + numerator);
}
// 计算数列中下个元素的分子分母,下一个元素的分子是上一个元素的分母
// 下一个元素的分母,是上一个元素的分子分母绝对值之和
tmp = denominator;
denominator += numerator;
numerator = tmp;
}
return sum;
}
找出通项,符号使用-1来控制。
0c语言编程计算数列1/2,-2/3,