Как найти семя целочисленного массива, сгенерированного генератором случайных чисел
Я использовал следующую функцию для генерации массива случайных чисел, когда я установил семя
srand(0)эта программа генерирует точно такой же массив целых чисел каждый раз, т. е.
38 39 118 5 23 21 45 29Теперь я хочу знать семя srand (), подавая тот же массив.
Что я уже пробовал:
я использовал эти коды для генерации массива
#include<iostream> #include<conio.h> #include <stdlib.h> #include <time.h> using namespace std; int main(void) { int i; srand(0); for (i=0; i<8;i++) { int x = rand()%128; //between 0 and 128 cout<<x<<" "; } }
Mehdi Gholam
Это вычислительно непрактично.
Peter_in_2780
Зависит от PRNG. Смешанная конгруэнция, например, может быть запущена "назад". Но использование %128 не только плохая практика, но и сделает это еще более трудным.
Mehdi Gholam
Вам нужно вычислить радужную таблицу семян и выходных чисел (которая очень велика) и будет работать только для стартовых байтов и потерпит неудачу для "средних байтов", то есть не стартовых последовательностей.