Fibonacci numbers in Fortran

Example for versions Intel Visual Fortran 11.1, gfortran 4.5.0

This example uses iterative definition of Fibonacci numbers. The tricky part is printing the calculated values in one line, without leading or trailing spaces. Format specifier (I3, A, $) means that first an integer is printed using exactly 3 positions, followed by a string. The final $ suppresses trailing carriage return, used by default, so that everything is printed in one line.

 program Fibonacci
 integer :: f1,f2,f3,i
 i = 1
 f1 = 0
 f2 = 1
 
 do
f3 = f2 + f1
 f1 = f2
 f2 = f3
 i = i + 1
 if (f1<10) then
 print '(I1, A, $)', f1, ', '
 elseif (f1<100) then
 print '(I2, A, $)', f1, ', '
 else
 print '(I3, A, $)', f1, ', '
 end if
 if (i==17) then
 exit
 end if
 end do

 print *, '...'
 end program Fibonacci

AltStyle によって変換されたページ (->オリジナル) /