Skip to content

Instantly share code, notes, and snippets.

@spceaza
Created September 21, 2015 17:20
Show Gist options
  • Save spceaza/e103ca107c9e3102f56a to your computer and use it in GitHub Desktop.
Save spceaza/e103ca107c9e3102f56a to your computer and use it in GitHub Desktop.
all:
g++ -std=c++11 -g2 -o Tarea_6.bin Tarea_6.cpp
#include <iostream>
#include <random>
#include <cmath>
using namespace std;
int main()
{
std::random_device rd;
std::mt19937 e2(rd());
std::uniform_int_distribution<int> dist(50,100);
int N, reps;
int * probability;
int * album;
N = dist(e2);
reps = dist(e2);
album = new int[N]{0};
probability = new int[1000];
for(int i = 0; i < N; i+=2)
{
probability[i] = i;
probability[i+1] = i;
}
std::uniform_int_distribution<int> dist3(0,N/4);
for(int i = 2*N; i < 500; i++)
{
probability[i] = dist3(e2);
}
std::uniform_int_distribution<int> dist4(N/4,N-1);
for(int i = 500; i < 1000; i++)
{
probability[i] = dist4(e2);
}
cout << N << endl;
int mean = 0;
std::uniform_int_distribution<int> dist2(0,1000);
for(int i = 0; i < reps; i++)
{
int iterations;
iterations = 0;
for(int control = 0; control < N; iterations++)
{
int index;
index = probability[dist2(e2)];
if(album[index] != 1)
{
album[index] = 1;
control++;
}
}
delete[] album;
album = new int[N]{0};
mean += iterations;
}
mean /= reps;
cout << "Mean: " << mean << endl;
delete[] album;
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment