Advertisement
Guest User

Untitled

a guest
May 23rd, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. #include <omp.h>
  2. #include <math.h>
  3. #include <stdlib.h>
  4. #include <stdio.h>
  5.  
  6.  
  7. #define N 625
  8. #define S (int)sqrt(N)
  9. #define M N
  10. int main(int argc, char *argv[])
  11. {
  12. long int a[S+1];
  13. long int podzielniki[S+1];
  14. long int pierwsze[M];
  15. long int i,k;
  16. long int liczba,reszta,suma,lpmax;
  17. long int lpodz=0;
  18. long int llpier=0;
  19. double s,kkk;
  20. for(i=2;i<=S;i++) a[i]=1;
  21. for(i=2;i<=S;i++){
  22. if(a[i]==1){
  23. pierwsze[llpier++]=i;
  24. podzielniki[lpodz++]=i;
  25. for(k=i*i;k<=S;k+=i) a[k]=0;
  26. }
  27. }
  28. /*printf("liczba l pierwszych %ld \n", llpier);
  29. printf("liczba podzielnikow %ld \n", lpodz);
  30. printf("najwieksza liczba pierwsza %ld \n", pierwsze[llpier-1]);*/
  31. s=omp_get_wtime();
  32. for(liczba = S+1; liczba<=N; liczba++){
  33. for(k=0; k<lpodz;k++){
  34. reszta=liczba%pierwsze[k];
  35. if(reszta==0) break;
  36. }
  37. if(reszta!=0){
  38. pierwsze[llpier++]=liczba;
  39. }
  40. }
  41. kkk=omp_get_wtime();
  42. printf("liczba l pierwszych %ld \n", llpier);
  43. suma=0;
  44. lpmax=0;
  45. for(i=0;i<llpier;i++){
  46. suma=suma+pierwsze[i];
  47. if(pierwsze[i]>lpmax) lpmax=pierwsze[i];
  48. }
  49.  
  50. printf("najwieksza liczba pierwsza %ld %ld \n", lpmax,pierwsze[llpier-1]);
  51. printf("suma liczb pierwszych %ld \n", suma);
  52.  
  53. /*for(i=0;i<llpier;i++){
  54. printf("%ld \n", pierwsze[i]);
  55. if(i%10==0) printf("\n");
  56. }*/
  57.  
  58. return 0;
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement