Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include <iostream>
- #include <string>
- #include <random>
- using namespace std;
- random_device rnd;//библиотеки random, чтобы были максимально случайные числа
- mt19937 mersenne(rnd());// ^^^^
- //возвращает случайное число, все числа по которым берется модуль - простые.
- long long randInt()
- {
- return
- ((mersenne() % 89659) * (mersenne() % 92489) + (mersenne() % 75503) * (mersenne() % 74797)) *
- ((mersenne() % 65407) * (mersenne() % 60889) + (mersenne() % 57713) * (mersenne() % 55207)) +
- mersenne();
- }
- // генератор длины строки
- //int genLength() {
- // return max((long long)minLengthOfBinaryNumber, (long long)randInt() % maxLengthOfBinaryNumber);
- //}
- void Shuffle(string & s)
- {
- for (int i = 0; i < s.length(); ++i)
- for (int j = 0; j < s.length(); ++j)
- {
- bool shuffle = (bool)randInt() % 2;
- if (shuffle)
- swap(s[i], s[j]);
- }
- }
- string GenBinaryNumber(int length)
- {
- string res = "";
- for (int i = 0; i < length; ++i)
- {
- res += randInt() % 2 + '0';
- }
- Shuffle(res);
- res[0] = '1';
- return res;
- }
- int main()
- {
- //freopen("input.txt", "r", stdin);
- //freopen("output.txt", "w", stdout);
- setlocale(LC_ALL, "Russian");
- const int length = 16;//длина строки
- string s = GenBinaryNumber(length);
- for (int i = 0; i < length / 2; ++i)
- {
- for (int j = 0; j < i; ++j)
- cout << ' ';
- for (int j = i; j < length - i;j++)
- cout << s[j];
- cout << endl;
- }
- }
Add Comment
Please, Sign In to add comment