Bolu Beyi tarafından yazıldı Aralık - 6 - 2013 0 Yorum

OpenMP’de 1-100 arasındaki asal sayıları bulan program:

openmp

#include <stdio.h>
#include <omp.h>
#include <math.h>#define chunksize 5
#define iterasyon 100int main()
{
int chunk, i, sayac=0;
chunk = chunksize;
float bolum;

#pragma omp parallel shared(chunk, sayac) private(i)
{

#pragma omp for schedule(dynamic, chunk) nowait
for(i=2;i<iterasyon;i++)
{
bolum=(int)sqrt((float)i);
bool bayrak=false;
for(int j=2;j<=bolum;j++)
{
if((i%j)==0)
bayrak=true;
}

if(bayrak==false)
{
printf(“asal sayi=%d\n”,i);
}
}

#pragma omp for schedule(dynamic, chunk) reduction(+:sayac) nowait
for(i=2;i<iterasyon;i++)
{
bolum=(int)sqrt((float)i);
bool bayrak=false;
for(int j=2;j<=bolum;j++)
{
if((i%j)==0)
bayrak=true;
}
if(bayrak==false)
{
sayac++;
}
}
}
printf(“\nToplam %d adet asal sayi var.\n”,sayac);
}


Time limit is exhausted. Please reload CAPTCHA.