编程论坛's Archiver

lovemoneyonly2 发表于 2006-8-3 13:35

[求助]求解简单编程-->myajax95转移

1。某一正整数,进行递减,每次将该数减半后再减一,妆对该数进行第10次减半时发现该数只剩下1不能再减了,求该数 答案:1534<BR><BR>2,已知FIbonacci数列(斐波那契数列):1,1,2,3,5,8。。。它可以由下面公式表述:<BR>F(1)=1   if n=1<BR>F(2)=1    if n=2<BR>F(n)=F(n-1)+F(n-2)  if n&gt;2<BR><BR>试求F(50)值<BR>提示:最好使用递推法求解,因为使用递归调用很可能超出某些语言的递归深度。<BR>答案:12586269025<BR><BR><BR>求源代码!

aarron84 发表于 2006-8-22 23:16

一:<BR>#include&lt;stdio.h&gt;<BR>main()<BR>{<BR>    int i, x = 1;<BR>    for (i = 1; i &lt;= 9; i++)<BR>    {<BR>        x = (x+1)*2 ;      <BR>    }<BR>    printf("%d\n",  x);<BR>}<BR>二:<BR>double fun(int n)<BR>{<BR>    int i = 0;<BR>    double f1 = 1, f2 = 1, f = 0;<BR>    if(1 == n || 2 == n)<BR>    {<BR>        return f2;<BR>    }<BR>    else<BR>    {<BR>        for(i = 3; i &lt;= n; i++)<BR>        {<BR>            f = f2;        /*f,f1,f2类似指针,f1和f2分别"指向"f(n - 2),f (n - 1) if n &gt; 2*/<BR>            f2 = f1 +f2;<BR>            f1 = f;<BR>        }<BR>        return f2;<BR>    }<BR>}            

YINSZ2006 发表于 2006-8-25 12:05

这个简单,我早在2004年都用vf做过的.别说是f(50),就F(5000)也能求

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.