fortran95 - 我的 while 条件有错误,该怎么办?
问题描述
我在这个程序中遇到了很多麻烦 当两个连续数字的除法和 aurea 比率之间的差异小于 10e-6 时,这个斐波那契数列应该停止。不幸的是,程序会自动进入暂停状态,所以我认为在我的 while 条件下发生了一些事情。有什么建议么?
program fibonacci
implicit none
integer::a,b,c,i
real::dif
real,parameter::e=10e-6,aurea=((1+sqrt(5.))/2.)
a=0;
b=1;
i=0;
dif=0;
do while (dif<e)
dif=abs((b/a)-aurea)
if (i==0) then
print*, a
else if (i==1) then
print*,b
else
c=a+b
print*,c
a=b
b=c
end if
end do
pause
end program fibonacci
解决方案
推荐阅读
- typescript - Typescript - 如何键入对象的未知属性?
- python - python中的用户输入矩阵(n * n + 1)
- python-3.x - Python - 如何从另一个类返回实例的值?
- flutter - 颤振测试发现两个具有相同键的`SnackBar`,当只有一个构建时
- web-scraping - Youtube 上的 colab 抓取
- javascript - 当我想分配变量 JS 时,分配的左侧无效
- ajax - Safari 将 blob 文件下载为 example.com
- python - 颜色图的自定义刻度线
- python - 将列添加到现有的 numpy 2D-Array
- reactjs - 在组件中记住获取的结果