Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- unsigned long pow_int(int k)
- {
- unsigned long wynik =1;
- for(int i=1; i<k; i++)
- {
- wynik=wynik*2;
- }
- return wynik;
- }
- bool xor(bool a, bool b)
- {
- if(a==b)
- return 0;
- else
- return 1;
- }
- int main()
- {
- unsigned long *ciag= new unsigned long[1000000];
- unsigned long long int M;
- unsigned int a;
- unsigned int c;
- M = 2147483647; //2^31 - 1
- a=69069;
- c=1;
- ciag[0] = 15;
- for(int i=1; i<1000000; i++)
- {
- ciag[i]=(ciag[i-1]*a)% M ;
- }
- unsigned long int przedzialy[10];
- for(int i=0; i<10; i++)
- {
- przedzialy[i]=0;
- }
- for(int i=0; i<1000000; i++)
- {
- int licznik = 1;
- if(ciag[i] < (M/10))
- {
- przedzialy[0]++;
- }
- else if(ciag[i] < (M/10)*2)
- {
- przedzialy[1]++;
- }
- else if(ciag[i] < (M/10)*3)
- {
- przedzialy[2]++;
- }
- else if(ciag[i] < (M/10)*4)
- {
- przedzialy[3]++;
- }
- else if(ciag[i] < (M/10)*5)
- {
- przedzialy[4]++;
- }
- else if(ciag[i] < (M/10)*6)
- {
- przedzialy[5]++;
- }
- else if(ciag[i] < (M/10)*7)
- {
- przedzialy[6]++;
- }
- else if(ciag[i] < (M/10)*8)
- {
- przedzialy[7]++;
- }
- else if(ciag[i] < (M/10)*9)
- {
- przedzialy[8]++;
- }
- else
- {
- przedzialy[9]++;
- }
- }
- for(int i=0; i<10; i++)
- {
- cout << "przedzial " << (i)*214748365 << " do " << (i+1)*214748365 << " liczb: " << przedzialy[i] << "\n";
- }
- int p=3;
- int q=7;
- int n=100000;
- bool tab[3100000];
- tab[0]=0;
- tab[1]=1;
- tab[2]=1;
- tab[3]=1;
- tab[4]=0;
- tab[5]=1;
- tab[6]=1;
- for(int i=7; i<n*31; i++)
- {
- tab[i] = xor(tab[i-p], tab[i-q]);
- }
- int losowe[100000];
- for(int i=0; i<n; i++)
- {
- losowe[i]=0;
- }
- for(int i=0; i<n; i++)
- {
- for(int j=0; j<31; j++)
- {
- if(tab[i*j])
- {
- losowe[i]+=pow_int(j);
- }
- }
- }
- for(int i=0; i<10; i++)
- {
- przedzialy[i]=0;
- }
- for(int i=0; i<n; i++)
- {
- if(losowe[i] < (M/10))
- {
- przedzialy[0]++;
- }
- else if(losowe[i] < (M/10)*2)
- {
- przedzialy[1]++;
- }
- else if(losowe[i] < (M/10)*3)
- {
- przedzialy[2]++;
- }
- else if(losowe[i] < (M/10)*4)
- {
- przedzialy[3]++;
- }
- else if(losowe[i] < (M/10)*5)
- {
- przedzialy[4]++;
- }
- else if(losowe[i] < (M/10)*6)
- {
- przedzialy[5]++;
- }
- else if(losowe[i] < (M/10)*7)
- {
- przedzialy[6]++;
- }
- else if(losowe[i] < (M/10)*8)
- {
- przedzialy[7]++;
- }
- else if(losowe[i] < (M/10)*9)
- {
- przedzialy[8]++;
- }
- else
- {
- przedzialy[9]++;
- }
- }
- cout << endl;
- for(int i=0; i<10; i++)
- {
- cout << "przedzial " << (i)*214748365 << " do " << (i+1)*214748365 << " liczb: " << przedzialy[i] << "\n";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement