两个无限序列的问题,感觉是不是做错了
先说一下题意有两个无限序列:
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 编辑 ]