Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- ////////////Zad1. Wzór 2.2
- //n = 100 000; 32 bitowe; x0 = 15; a = 69069; c = 1; M = 2^31 - 1
- //10 przedzialow
- ////////////Zad2. Wzór 2.6
- //
- using namespace std;
- unsigned int generatorPierwszy(unsigned int x){
- int a = 69069;
- int c = 1;
- int M = 1<<31;
- M -= 1;
- return (a*x+c)%M;
- }
- int main(){
- /*unsigned int x = 15;
- unsigned int wyniki[100000];
- unsigned int licznosci[10]={0,0,0,0,0,0,0,0,0,0};
- int iterator = 0;
- double przedzial = ((1<<31)-1)/10.0;
- int costam;
- for(int i = 0; i < 100000; i++){
- x = generatorPierwszy(x);
- wyniki[iterator] = x;
- iterator++;
- costam = floor(x/przedzial);
- licznosci[costam]++;
- }
- unsigned int suma = 0;
- for(int i = 0; i < 10; i++){
- cout << licznosci[i] << endl;
- suma += licznosci[i];
- }
- cout << "Suma: " << suma << endl;
- //cout << generatorPierwszy() << endl;*/
- unsigned int liczba = 0xDC000000;
- int p = 3;
- int q = 7;
- int bity[2]={0};
- int wyjsciowy;
- int licznosci[10] = {0};
- licznosci[0]-=1;
- int index = 0;
- for(int i = 0; i <= 3200000; i++){
- if(liczba & (1<<(32-p)))
- bity[0] = 1;
- else
- bity[0] = 0;
- if(liczba & (1<<(32-q)))
- bity[1] = 1;
- else
- bity[1] = 0;
- wyjsciowy = (bity[0]+bity[1])%2;
- liczba = liczba>>1;
- liczba |= wyjsciowy<<31;
- if(i%32 == 0){
- index = floor(liczba/((((unsigned int)0)-1)/10.0));
- licznosci[index]++;
- }
- }
- int suma = 0;
- for(int i = 0; i < 10; i++){
- cout << licznosci[i] << endl;
- suma += licznosci[i];
- }
- cout << "suma: " << suma << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment