用Fortran语言求Fibonacci数列:(1)大于4000的最小项(2)5000之内的项数
时间: 2024-01-23 20:01:43 浏览: 38
以下是用Fortran语言求Fibonacci数列的代码:
```
program fibonacci
implicit none
integer :: n, f1, f2, f3, count
f1 = 0
f2 = 1
count = 0
do while (f2 <= 4000)
f3 = f1 + f2
f1 = f2
f2 = f3
count = count + 1
end do
write(*,*) "大于4000的最小项是:", f2
write(*,*) "5000之内的项数是:", count
end program fibonacci
```
解释一下代码:
首先,我们定义了四个变量:n表示要求的项数,f1和f2分别表示当前项和前一项的值,f3表示下一项的值,count表示项数计数器。
然后,我们将f1初始化为0,将f2初始化为1,将count初始化为0。
接下来,我们使用一个do while循环来计算Fibonacci数列。循环条件是f2小于等于4000,因为我们要求大于4000的最小项。循环体内,我们先计算下一项的值f3,然后将f1赋值为f2,将f2赋值为f3,这样就完成了一次迭代。同时,每完成一次迭代,我们就将count加1,表示项数增加了1。
最后,我们输出大于4000的最小项和5000之内的项数。
相关问题
用fortran语言求1+2+3+4+5的值
以下是用Fortran语言编写的代码,可以计算1+2+3+4+5的值:
```
program sum
implicit none
integer :: i, sum
sum = 0
do i = 1, 5
sum = sum + i
end do
print *, "The sum of 1 to 5 is ", sum
end program sum
```
运行该程序,输出结果为:
```
The sum of 1 to 5 is 15
```
用Fortran语言编写程序:输入5个数,按从小到大排列输出
好的,以下是用Fortran语言编写的程序:
```
program sort
implicit none
integer :: a(5), i, j, temp
! 输入5个数
do i = 1, 5
write(*,*) '请输入第', i, '个数:'
read(*,*) a(i)
end do
! 冒泡排序
do i = 1, 4
do j = i+1, 5
if (a(i) > a(j)) then
temp = a(i)
a(i) = a(j)
a(j) = temp
end if
end do
end do
! 输出排序结果
write(*,*) '从小到大排序结果为:'
do i = 1, 5
write(*,*) a(i)
end do
end program sort
```
程序的运行结果如下:
```
请输入第 1 个数:
5
请输入第 2 个数:
2
请输入第 3 个数:
9
请输入第 4 个数:
3
请输入第 5 个数:
7
从小到大排序结果为:
2
3
5
7
9
```