#include #include #include "mpi.h" #define MAXTAM 20000000 #define BASE 915000 int main(int argc,char** argv) { unsigned long int i,j; int * vet; int cont, valor, rank, size; double inittime,totaltime; MPI_Status status; vet = calloc (MAXTAM,sizeof(int)); cont = 0; MPI_Init(&argc,&argv); MPI_Comm_rank(MPI_COMM_WORLD,&rank); MPI_Comm_size(MPI_COMM_WORLD,&size); inittime = MPI_Wtime(); for (i=(rank*(MAXTAM/size)); i<((rank+1)*(MAXTAM/size)); i++) { if ((i%BASE)==0) { vet[i] = 1; cont ++; } } totaltime = MPI_Wtime() - inittime; printf ("Processo %d: multiplos locais = %d\n",rank,cont); for (i=(rank*(MAXTAM/size)); i<((rank+1)*(MAXTAM/size)); i++) { if (vet[i] == 1) { printf ("Processo %d: %u eh multiplo\n", rank, i); } } if (rank == 0) { printf ("Tempo final de execucao = %f\n", totaltime); for (j=1; j