Advertisement
Guest User

Untitled

a guest
Jan 25th, 2020
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.48 KB | None | 0 0
  1. vector<int> primes;
  2. void SieveOfEratosthenes(int n)
  3. {
  4.     // Create a boolean array "prime[0..n]" and initialize
  5.     // all entries it as true. A value in prime[i] will
  6.     // finally be false if i is Not a prime, else true.
  7.     bool prime[n+1];
  8.     memset(prime, true, sizeof(prime));
  9.  
  10.     for (int p=2; p*p<=n; p++)
  11.     {
  12.         // If prime[p] is not changed, then it is a prime
  13.         if (prime[p] == true)
  14.         {
  15.             // Update all multiples of p greater than or
  16.             // equal to the square of it
  17.             // numbers which are multiple of p and are
  18.             // less than p^2 are already been marked.
  19.             for (int i=p*p; i<=n; i += p)
  20.                 prime[i] = false;
  21.         }
  22.     }
  23.  
  24.     // Print all prime numbers
  25.     for (int p=2; p<=n; p++)
  26.        if (prime[p])
  27.           primes.push_back(p);
  28. }
  29.  
  30.  
  31. int binarySearch(vector<int> arr, int l, int r, int x)
  32. {
  33.     if (r >= l) {
  34.         int mid = l + (r - l) / 2;
  35.  
  36.         // If the element is present at the middle
  37.         // itself
  38.         if (arr[mid] == x)
  39.             return mid;
  40.  
  41.         // If element is smaller than mid, then
  42.         // it can only be present in left subarray
  43.         if (arr[mid] > x)
  44.             return binarySearch(arr, l, mid - 1, x);
  45.  
  46.         // Else the element can only be present
  47.         // in right subarray
  48.         return binarySearch(arr, mid + 1, r, x);
  49.     }
  50.  
  51.     // We reach here when element is not
  52.     // present in array
  53.     return -1;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement