[Past Event] Three-Body Tech - SoundBytes - Heavier7Strings Giveaway
Posted: Thu Nov 16, 2017 8:41 am
[This is a past event. Stay tuned for more!]
We are pleased to announce we teamed up with SoundBytes Magazine to bring you Heavier7Strings giveaway!
Simply register at our forum and post below to enter, 3 random winners will be randomly selected to receive a copy of Heavier7Strings.
Winners will be annoounced here on Dec 25th (Beijing Time) and SoundBytes offical site.
PLEASE NOTE: One entry per user ONLY. We are able to detect multiple entries.
If you do not received forum account activation email, please check your spam folder in your mailbox; and if it is still not there, please contact us using your email address used in forum registration. Our email: support@threebodytech.com
The result is here! Our 3 lucky winners are: iScream, tommygunster, TrojakEW.
Congratulations and enjoy H7S! The serial number has been sent to your email.
We used MT19937 pseudo random number generator, and used the Epoch second number on time 2017-12-25 00:00.00 as seed.
The winners are generated from following procedure:
1: a random number between 2 and the number of participants is generated, it is used as the times of shuffling.
2: each participant is assigned with an ID according to their reply in the activity post. Duplicate ones are removed.
3: shuffling is performed by previously decided times, the first 3 IDs in resultant shuffled list are selected as winner.
The shuffling and random generator in C++11 standard library was used. The source code was compiled by GCC 6.3.0.
See blow for source code:
#include <algorithm>
#include <iostream>
#include <random>
#include <vector>
#define ACTION_DATE_EPOCH 1514160000
#define NUM_FETCH 3
int main()
{
std::vector<int> indices = {
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
};
// create pseudo random number generator
// initialize using the second number since Epoch of this Christmas
std::mt19937 prng;
prng.seed(ACTION_DATE_EPOCH);
// decide how many times to shuffle
// the number must be at least 2, otherwise the result has fixed prefix
std::uniform_int_distribution<int> dist(2, indices.size());
int times_shuffle = dist(prng);
std::cout << "shuffle " << times_shuffle << " times" << std::endl;
// do shuffle for that times
for (int i = 0; i < times_shuffle; i++)
std::shuffle(indices.begin(), indices.end(), prng);
// tell result
for (int i = 0; i < NUM_FETCH; i++)
{
std::cout << indices[i] << std::endl;
}
}
Merry Christmas and Happy New Year!
We are pleased to announce we teamed up with SoundBytes Magazine to bring you Heavier7Strings giveaway!
Simply register at our forum and post below to enter, 3 random winners will be randomly selected to receive a copy of Heavier7Strings.
Winners will be annoounced here on Dec 25th (Beijing Time) and SoundBytes offical site.
PLEASE NOTE: One entry per user ONLY. We are able to detect multiple entries.
If you do not received forum account activation email, please check your spam folder in your mailbox; and if it is still not there, please contact us using your email address used in forum registration. Our email: support@threebodytech.com
The result is here! Our 3 lucky winners are: iScream, tommygunster, TrojakEW.
Congratulations and enjoy H7S! The serial number has been sent to your email.
We used MT19937 pseudo random number generator, and used the Epoch second number on time 2017-12-25 00:00.00 as seed.
The winners are generated from following procedure:
1: a random number between 2 and the number of participants is generated, it is used as the times of shuffling.
2: each participant is assigned with an ID according to their reply in the activity post. Duplicate ones are removed.
3: shuffling is performed by previously decided times, the first 3 IDs in resultant shuffled list are selected as winner.
The shuffling and random generator in C++11 standard library was used. The source code was compiled by GCC 6.3.0.
See blow for source code:
#include <algorithm>
#include <iostream>
#include <random>
#include <vector>
#define ACTION_DATE_EPOCH 1514160000
#define NUM_FETCH 3
int main()
{
std::vector<int> indices = {
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
};
// create pseudo random number generator
// initialize using the second number since Epoch of this Christmas
std::mt19937 prng;
prng.seed(ACTION_DATE_EPOCH);
// decide how many times to shuffle
// the number must be at least 2, otherwise the result has fixed prefix
std::uniform_int_distribution<int> dist(2, indices.size());
int times_shuffle = dist(prng);
std::cout << "shuffle " << times_shuffle << " times" << std::endl;
// do shuffle for that times
for (int i = 0; i < times_shuffle; i++)
std::shuffle(indices.begin(), indices.end(), prng);
// tell result
for (int i = 0; i < NUM_FETCH; i++)
{
std::cout << indices[i] << std::endl;
}
}
Merry Christmas and Happy New Year!