integer::N,B,i real*8,allocatable::a(:) real*8::bibun,sekibun character*20::bs,ss read *,N read *,B allocate(a(N)) read *,a bibun = 0.0_8 do i=1,N bibun = bibun + a(i)*DBLE(B)**(a(i)-1.0_8) end do sekibun = 0.0_8 do i=1,N if(a(i).eq.(-1.0_8)) then sekibun = sekibun + log(DBLE(B)) else sekibun = sekibun + (DBLE(B)**(a(i)+1))/(a(i)+1.0_8) end if end do write (bs,'(F18.10)'), bibun write (ss,'(F18.10)'), sekibun print '(a)',ADJUSTL(bs) print '(a)',ADJUSTL(ss) end program