Advertisement
hugol

Untitled

Apr 16th, 2015
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.85 KB | None | 0 0
  1. #include <iostream>
  2. #include <time.h>
  3.  
  4.  
  5. using namespace std;
  6.  
  7. unsigned int x;
  8.  
  9.  
  10. int rand2()
  11. {
  12.     int p = 44497;
  13.     int q = 8575;
  14.  
  15.     for (int i = 0; i < 32; i++)
  16.     {
  17.         int iminusq = (i - q) % 32;
  18.         int iminusp = (i - p) % 32;
  19.  
  20.         int biminusq = (x & (1 << iminusq)) != 0;
  21.         int piminusq = (x & (1 << iminusp)) != 0;
  22.  
  23.         int xor = biminusq ^ piminusq;
  24.         if (xor)
  25.         {
  26.             x = x | (1 << i); // zapalenie i tego bitu
  27.         }
  28.         else
  29.         {
  30.             x = x & ~(1 << i); // zgaszenie zgaszenie i tego bitu
  31.         }
  32.  
  33.     }
  34.     return x;
  35. }
  36.  
  37. int main()
  38. {
  39.  
  40.     x = time(NULL);
  41.        
  42.     int k = 100;
  43.  
  44.     unsigned int max, min;
  45.     max = min = x = rand2();
  46.     cout << x << endl;
  47.  
  48.     for (int i = 1; i < k; i++)
  49.     {
  50.         x = rand2();
  51.         if (x > max)
  52.             max = x;
  53.  
  54.         if (x < min)
  55.             min = x;
  56.         cout << x << endl;
  57.     }
  58.  
  59.     cout << "max: " << max << ", min: " << min << endl;
  60.  
  61.     return 0;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement