常用算法--迭代法举例
Posted Fight With Me!!!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用算法--迭代法举例相关的知识,希望对你有一定的参考价值。
题目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;
}
以上是关于常用算法--迭代法举例的主要内容,如果未能解决你的问题,请参考以下文章