ify"> У кожній групі можливо всього t! варіантів відносного розташування чисел. Далі підраховується скільки разів зустрічається кожне конкретне відносне розташування. Після цього застосовується критерій хі-квадрат з числом ступенів свободи v=t! і p=1 / t!.
Для тестування послідовностей випадкових чисел на рівномірність будемо використовувати тести 1-4, а саме тест перевірки частот, покер-тест, тест серій і тест перевірки інтервалів. Генерацію і перевірку послідовності чисел будемо проводити доти, поки чергова випадкова послідовність не задовольнятиме всіх тестів. В результаті, вдала послідовність чисел буде записана в зовнішній файл.
4. Лістинг програми тестування генератора випадкових чисел
# include
# include
# include
# include main (int argc, const char * argv []) {result=0; n=5000, a [n], i, b [n/10] , t=0, r=0; (0," "); (result == 0)
{result=1;aa[7]={2.088,3.325,5.899,8.343,11.39,16.92,21.67};(time(NULL));(i=0;i<n;i++)[i]=rand()%10;(t<10){(i=0;i<n/2;i++){(a[i]==t)r++;
} b [t]=r; r=0; + +;} np; float V=0, s=0;=n/20; (i=0; i <10; i + + ) {= ((b [i]-np) * (b [i]-np));=V / np;=s + V; }=0; («перевірка частот V =% 2.2f», s); (« n"); (i=0; i <7; i + +) (aa [i] 4)) *=0;=0;
///#2(«n»);aa1[7]={0.8721,1.635,3.455,5.348,7.841,12.59,16.81};z[5]={0,0,0,0,0},c[5],j,k=0,x=1,d,q;(i=0;i<n/50;i++){(j=0;j<5;j++)[j]=a[5*i+j]; d=5; (k <5) {j=k +1; (j =7) ("поганий р-т 99 4)) *=0;=0;
/ / № 3=10; int g=0, l=0, bb [d * d]; j=0; (i=0; i
} printf(«n»);npp;=25;(i=0;i<d*d;i++){=((bb[i]-npp)*(bb[i]-npp));=V/npp;=s+V;}(«n»);(«тест серій V=%2.2f»,s);(«n»);r=0;aa2[7]={69.23,77.046,89.185,99.341,110.189,125.458,136.971};(i=0;i<7;i++){(aa2[i]<s)r++; } (R == 0) ("поганий р-т 0 =7) ("поганий р-т 99