simpley 发表于 2008-7-13 11:22

请帮助算一道题

S1=1/2+1/4+1/8+1/16+1/32+1/64--------1/2^n

S2=1/2+1/9+1/16+1/25+1/36+1/49-------1/(n+1)^2

我认为N在某个值时,会出现S1<S2的情况,但不知道N是几,而且也不能确定这个N值是否真的存在?希望有朋友帮助编程验算一下.

simpley 发表于 2008-7-13 16:08

在本论坛我帮助过不少人,怎么没人帮我一下

Rand 发表于 2008-7-13 17:48

每次循环只保留每项相减后的值,知道出现<0

longziyong 发表于 2008-7-13 18:00

查找1000以内是否存在满足要求的n值

#include <math.h>
main(){
   double s1=1/2,s2=1/2;
   int n=2;
   while(n<=1000){
      s1+=1/pow(2,n);
      s2+=1/pow((n+1),2);
      if(s1<s2) break;
      else n+=1;
   }
   if(s1<s2) printf("s1=%f,s2=%f,n=%d\n",s1,s2,n);
   else printf("所求n值不存在!");
}

xuanzilie 发表于 2008-7-13 23:43

S1 = 1 - 2^(-n)  1减2的负n次方   当n太大了 S1也就无法准确不表示出了
本来S1跟S2接近时的差不是很大

leeco 发表于 2008-7-14 01:03

第一个级数是几何级数,一眼就知道极限等于1。
第二个级数是P级数,P=2>1,一眼就知道是发散的。广义上极限等于+∞。
所以正如你所说,这个N值肯定存在。

xuanzilie 发表于 2008-7-14 09:21

6#分析的有道理, 但是这是个离散的就不一定能相交到一起了

simpley 发表于 2008-7-14 09:56

动嘴的多,动手的少.
还一眼就知道是发散的
这是收敛级数,地球人都知道!

界水乘风 发表于 2008-7-14 10:30

先分析一下数学
S1我会求,极限为1。
S2我不会求,只好百度,呵呵。
如果S=1+1/2+1/4+...+1/n^2, S的极限为Pi^2/6,
由此可知S2=Pi^2/6-3/4,约为0.89,
看来LZ的猜想不是很对啊。

界水乘风 发表于 2008-7-14 10:49

#include <stdio.h>
#include <math.h>
#define N 10000000.0

int main(void)
{
    double s1=N/2, s2=N/2;
    for(int i=2; i<5; i++)
    {
        s1 += N/i/i;
        s2 += N/pow(2.0,(i+1));
        if(s1-s2<0.00001) printf("%d\n", i);
    }
    printf("%.4f\n", s1/N);
    printf("%.4f\n", s2/N);
    return 0;
}

贴个测试程序。
PS:原则上i取值应该越大越精确,但是当i到4时,S1已经大于0.90,大于S2的极限,所以s2超过s1的可能已不存在。

[[it] 本帖最后由 界水乘风 于 2008-7-14 10:51 编辑 [/it]]

[[it] 本帖最后由 界水乘风 于 2008-7-14 11:37 编辑 [/it]]

[[it] 本帖最后由 界水乘风 于 2008-7-14 11:39 编辑 [/it]]

simpley 发表于 2008-7-15 20:55

1.感谢大家的帮助
2.界水乘风指出正确结论.
虽然S2后来的每一项都比S1大,而且越来越大,但S2却永远追不上S1了.
少壮不努力,老大徒伤悲.
当你年轻时不努力,时机一过,后来你即使比别人努力再多,却永远追不上了

[[it] 本帖最后由 simpley 于 2008-7-15 21:00 编辑 [/it]]

VxWorks 发表于 2008-7-15 21:32

n趋向于无穷大时2^n是比(n+1)^2高阶的无穷大,证明如下:
n趋向于无穷大时,考察ln(2^n)/ln((n+1)^2)的极限
ln(2^n)/ln((n+1)^2) = n*ln2 / (2 * ln(n+1))
= (ln2 / 2) * n / ln(n+1)
显然,ln(2^n)是比ln((n+1)^2)高阶的无穷大,2^n增长的速度比(n+1)^2快的多。

所以1/2^n比1/(n+1)^2减小的快,数列1/(n+1)^2的和会超过1/2^n的和。

[[it] 本帖最后由 VxWorks 于 2008-7-15 21:34 编辑 [/it]]

死了都要C 发表于 2008-7-15 22:47

我汗````为什么S1趋近于1``S2是+无穷大啊``

simpley 发表于 2008-7-16 09:33

界水乘风已指出正确结论了,还乱证明!不看前面的帖子,不谦虚!得出错误结论,误导别人!

VxWorks 发表于 2008-7-16 12:30

你说乱证明,请问我证明过程中有漏洞吗?你不会看不懂我的证明过程吧[em09]

9楼的不算证明,因为他说“S=1+1/2+1/4+...+1/n^2, S的极限为Pi^2/6”
你能证明S的极限为Pi^2/6吗?

hello_moto 发表于 2008-7-16 13:15

[quote][bo][un]VxWorks[/un] 在 2008-7-16 12:30 的发言:[/bo]

你说乱证明,请问我证明过程中有漏洞吗?你不会看不懂我的证明过程吧[em09]

9楼的不算证明,因为他说“S=1+1/2+1/4+...+1/n^2, S的极限为Pi^2/6”
你能证明S的极限为Pi^2/6吗? [/quote]
你的漏洞在最后一句话
“所以1/2^n比1/(n+1)^2减小的快,数列1/(n+1)^2的和会超过1/2^n的和。”
有因果关系吗?1/2^n确实比1/(n+1)^2减小的快,但是不能推导出“数列1/(n+1)^2的和会超过1/2^n的和”。
S=1+1/2+1/4+...+1/n^2, S的极限为Pi^2/6,可以证明,用傅立叶级数法。

hello_moto 发表于 2008-7-16 13:30

回复 15# VxWorks 的帖子

如果你还是不会的话,我可以写给你看。只是那些符号太难打了。

VxWorks 发表于 2008-7-16 13:35

我上面12楼的证明只有最后一句是没有依据的,问题也出在这里,后来我也看出来了,数列前几项对和的影响很大。我只是想让人给我证明1/n^2和的极限[em12]

晚上去找数学资料看看,自己证明不了再请你把证明过程贴出来

VxWorks 发表于 2008-7-16 20:59

刚才猛看fourier终于找到了证明方法:
[attach]36177[/attach]
然后又看到了有人用类似的解法,算出来的结果竟然不一样:
[tk13]
[attach]36178[/attach]
偶今天有些烦了,不想再算。有兴趣的找下哪个结果是对的或都不对
[tk09]

ddd121 发表于 2008-7-16 21:15

学一年级数再说- -飘过

页: [1] 2

编程论坛