!	n=1,2,..,10 の累乗の計算(倍精度)
!	履歴
!	2013/04/25 村橋　究理基  新規作成
program ex1_double
implicit none

real(8) :: N2	! n の2 乗
real(8) :: N3	! n の3 乗
real(8) :: Ninv ! n の逆数
integer :: n	! loop変数

! initialization
N2 = 0.0d0
N3 = 0.0d0
Ninv = 0.0d0

write(*, *) "  n          n2            n3            1/n"

do n=1, 10                ! 累乗の計算をするloop
  N2 = dble(n) **2       ! 変数nを倍精度に型変換して2乗を計算する
  N3 = dble(n) **3       ! 上に同じく型変換して3乗を計算する
  Ninv = 1.0d0 / dble(n) ! 上に同じく型変換して逆数を計算する
! write文の二番目の引数が意味するのは
! 1X:一つの空白, I4:4桁の整数, 2X:二つの空白
! 3F20.14:3つの実数に対して,有効桁数20桁,小数点以下14桁
  write(*, '(1X, I4, 2X, 3F20.14)') n, N2, N3, Ninv
enddo

end program ex1_double
