program mpi2 include 'mpif.h' integer nproc, ich, i, N, ier real sum, Gsum call MPI_Init(ier) call MPI_Comm_size(MPI_COMM_WORLD, nproc, ier) call MPI_Comm_rank(MPI_COMM_WORLD, ich, ier) if (ich .eq. 0) then write(*,100) 100 format('*** Geben Sie bitte die Anzahl Terme ein: N = ',$) read(*,*) N end if call MPI_Bcast(N,1,MPI_INTEGER,0,MPI_COMM_WORLD,ier) sum=0. do i=ich,N-1,nproc if (mod(i,2).eq.0) then sum = sum + 1. / real(i + 1) else sum = sum - 1. / real(i + 1) end if end do call MPI_Reduce(sum,Gsum,1,MPI_REAL,MPI_SUM,0,MPI_COMM_WORLD,ier) if (ich .eq. 0) write(*,200) Gsum 200 format('*** Eine Schaetzung von ln(2) ist ',f12.6) call MPI_Finalize(ier) end