两个无限序列的问题,感觉是不是做错了
先说一下题意有两个无限序列:
1.0 + 1.0/2.0 + 1.0/3.0 + 1.0/4.0 + ……
1.0 - 1.0/2.0 + 1.0/3.0 - 1.0/4.0 + ……
编写一个程序计算这两个序列不断变化的和,直到达到某个次数。尝试在20次、100次和500次后的总和,是否每个序列都看上去要收敛于某个值?
然后是我写的程序
程序代码:#include <stdio.h>
double p_infini (double p);
double n_infini (double n);
double p_infini (double p)
{
float h = 1.0;
float i;
double sum = 0;
for (i = 2; i <= p; i++)
{
sum = sum + h / i;
}
return sum;
}
double n_infini (double n)
{
float h = 1.0;
float i;
double sum = 0;
for (i = 2; i <= n; i++)
{
sum = sum + (h / i) * -1.0;
}
return sum;
}
int main (void)
{
double i;
double p_sum, n_sum;
printf ("Entez un numero:");
scanf ("%lf", &i);
p_sum = p_infini (i);
n_sum = n_infini (i);
printf ("values1 values2 \n");
printf ("%.3lf %.3lf \n", p_sum + 1.0, n_sum + 1.0);
return 0;
}20次: 3.598 -1.598
100次: 5.187 -3.187
500次: 6.793 -4.793
我没发现有要向某个值收敛的趋势啊,是不是我写错?还是我理解错题意了?

[ 本帖最后由 ilsoviet1917 于 2011-5-5 11:09 编辑 ]









