Fight With Me!!!

导航

常用算法--迭代法举例

题目20:编写函数jsvalue,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为:
F(0)=0,F(1)=1
F(n)=F(n-1)+F(n-2)
最后调用函数writeDat()读取10个数据t,分别得出结果且把结果输出到文件out.dat中。
例如:当t=1000时,函数值为:1597。
注意:部分源程序已给出。
请勿改动主函数main()和写函数writeDat()的内容。

int jsValue(int t)
{
int a,b,m;
a=0;
b=1;
while(b<t)
{
   m=a;
   a=b;
   b=b+m;
}
return b;
}

-----------------------------------------------------------------------------------

    题目21:下列程序的功能是:利用发下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。xn+1=cos(xn)
迭代步骤如下:
(1)取X1初值为0.0;
(2)X0=X1,把X1的值赋给X0;
(3)X1=COS(X0),求出一个新的X1;
(4)若X0-X1绝对值小0.000001,执行步骤(5),否则执行步骤(2);
(5)所求X1就是方程cos(X)-X=0的一个实根,作为函数值返回。
请编写函数countvalue()实现程序的要求,最后调用函数WRITEDAT()把结果输出到文件OUT17.DAT中。
    注意:部分源程序已给出。
    请勿改动主函数main()和输出数据函数writeDAT()的内容。

float countValue()
{
float x0=0.0,x1;
x1=cos(x0);
while(fabs(x0-x1)>=0.000001)
{
   x0=x1;
   x1=cos(x1);
}
return x1;
}

posted on 2016-05-29 16:38  nickTimer  阅读(2932)  评论(0编辑  收藏  举报