用循环求解

来源:互联网 发布:python控制树莓派gpio 编辑:程序博客网 时间:2024/06/06 18:42

【项目4-用循环求解】   写出实现下面求解任务的程序:

  (1)用如下公式求π的近似值(计算直到最后一项的绝对值小于10−5)           π/4=1−1/3+1/5−1/7+...

         

#include<iostream>#include<math.h>using namespace std;int main(){int i,sigh;float f=1,sum=0;sigh=1;for(i=1;i>1e-5;){sum=sum+f*sigh;i+=2;f=1.0/i;sigh*=-1;}cout<<4*sum<<endl;return 0;}

        (2)Fibonacci数列在计算科学、经济学等领域中广泛使用,其特点是:第一、二个数是1,从第3个数开始,每个数是其前两个数之和。据此,这个数列为:1 1 2 3 5 8 13 21 34 55 89 ……,请设计程序,输出这个数列,直到这个数字超过10000。 

#include<iostream>#include<math.h>using namespace std;void main(){int i,sum=0;int Fib[1024]={0};Fib[1]=1;cout<<Fib[1]<<endl;for(i=1;i<=1024;i++){Fib[i+1]=Fib[i]+Fib[i-1];sum=Fib[i+1];if(sum>10000)break;cout<<sum<<endl;}}


用数组来实现,当然这个方法不好,毕竟浪费了很大一部分的存储空间,刚刚想采用malloc动态分配,但这里不像像顺序表那样定义了结构体,就显得不知道到底要给什么分配空间了。。。。。。换了一种方法来,不用数组。

#include<iostream>#include<math.h>using namespace std;void main(){int sum=0;int f1,f2,f3;f1=f2=1;cout<<f1<<endl;cout<<f2<<endl;f3=f1+f2;while(f3<10000){cout<<f3<<endl;f1=f2;f2=f3;f3=f1+f2;}}
区别还是不大,但是还是得努力才行。

{f1=f2=1fn=fn1+fn2,n>2


0 0