Advertisement
Tobiasz931

generator liczb losowych na rejestrach przesuwnych

Mar 19th, 2013
300
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.02 KB | None | 0 0
  1. #include <math.h>
  2. #include <iostream>
  3. #include <iso646.h>
  4. //#include <vector>
  5. using namespace std;
  6.  
  7. int main(){
  8.     unsigned int tmp=0;
  9.     int v[10]={0,0,0,0,0,0,0,0,0,0};
  10.     bool x[100031];
  11.     for(int i=0; i<100031; i++)
  12.         x[i]=0;
  13.     x[1]=1;
  14.     x[2]=1;
  15.     x[3]=1;
  16.     x[5]=1;
  17.     x[6]=1;
  18.     bool temp[7];
  19.     unsigned int all[100000];
  20.     for(int i=7; i<100031; i++)
  21.         x[i]=x[i-3]^x[i-7];
  22.  
  23.     for(int i=0; i<100000; i++){
  24.         for(int b=0; b<31; b++)
  25.             tmp+=x[i+b]*pow(2.0f, b);
  26.         all[i]=tmp;
  27.         tmp=0;
  28.         if(i==1000)
  29.             i=i;
  30.         if(all[i]<2147483647/10)
  31.             v[0]++;
  32.         else if(all[i]<2*(2147483647/10))
  33.             v[1]++;
  34.         else if(all[i]<3*(2147483647/10))
  35.             v[2]++;
  36.         else if(all[i]<4*(2147483647/10))
  37.             v[3]++;
  38.         else if(all[i]<5*(2147483647/10))
  39.             v[4]++;
  40.         else if(all[i]<6*(2147483647/10))
  41.             v[5]++;
  42.         else if(all[i]<7*(2147483647/10))
  43.             v[6]++;
  44.         else if(all[i]<8*(2147483647/10))
  45.             v[7]++;
  46.         else if(all[i]<9*(2147483647/10))
  47.             v[8]++;
  48.         else
  49.             v[9]++;
  50.     }
  51.     for(int i=0; i<10; i++)
  52.         cout << v[i] << endl;
  53.     return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement