PRNG Analysis

kotlin


853:9.85E-4
948:9.85E-4
511:0.001047
881:9.63E-4
208:0.001008
811:9.96E-4
481:0.001012
73:0.001014
562:9.68E-4
863:0.001037
502:9.51E-4
399:9.64E-4
905:9.46E-4
507:0.001025
530:9.77E-4
376:9.84E-4
280:9.51E-4
771:0.001001
518:0.001003
190:0.001039
282:9.83E-4
997:9.78E-4
565:9.79E-4
775:9.67E-4
410:9.85E-4
560:9.91E-4
979:9.21E-4
862:9.72E-4
185:0.001025
956:0.001039
170:9.59E-4
416:0.001
525:0.001019
489:9.9E-4
563:0.001023
529:9.96E-4
34:0.001068
180:9.82E-4
406:0.001064
477:0.001048
940:0.001056
445:0.001027
986:9.71E-4
555:9.94E-4
819:9.73E-4
4:0.001038
8:9.99E-4
508:9.94E-4
111:0.001019
730:9.7E-4
337:9.7E-4
609:9.27E-4
703:0.001014
165:9.99E-4
925:0.00103
951:9.93E-4
367:0.001023
954:0.001027
396:9.87E-4
352:0.00101
191:9.93E-4
809:0.00105
932:0.001015
718:0.00101
387:0.00101
271:9.37E-4
731:0.001013
205:9.75E-4
195:0.001022
476:0.001041
658:0.00103
806:9.5E-4
194:9.99E-4
118:9.48E-4
866:9.78E-4
493:0.001043
232:0.001047
127:9.33E-4
454:0.001023
927:0.001026
748:9.81E-4
973:0.001006
827:0.001015
551:0.001
334:9.74E-4
143:9.72E-4
418:9.84E-4
756:0.001018
301:9.99E-4
679:0.001026
516:0.001034
739:9.95E-4
701:9.84E-4
55:9.95E-4
281:0.001045
869:0.001039
681:0.001
178:9.68E-4
992:0.001016
697:0.00108
14:0.001005
834:9.94E-4
613:9.61E-4
790:0.001005
537:0.001035
880:0.001044
81:9.9E-4
186:0.001057
533:0.001024
357:9.52E-4
285:0.001012
3:9.97E-4
512:0.001072
514:9.96E-4
16:9.95E-4
169:9.32E-4
320:9.9E-4
125:0.001008
52:9.82E-4
665:0.001005
196:0.00105
236:9.82E-4
462:0.001051
333:9.84E-4
104:9.95E-4
443:0.001021
276:9.62E-4
474:9.96E-4
671:0.001002
373:0.001034
704:9.84E-4
583:9.53E-4
184:9.4E-4
654:9.88E-4
109:0.001024
449:0.001049
41:9.47E-4
414:9.94E-4
341:0.001051
695:9.99E-4
754:0.001013
975:0.001003
90:0.001021
689:0.001066
505:9.98E-4
729:0.001009
403:9.9E-4
557:9.82E-4
113:0.00104
391:0.001071
503:9.87E-4
765:0.001001
42:0.001027
859:9.59E-4
937:0.001011
532:9.81E-4
620:0.001002
448:9.97E-4
354:0.001011
968:9.55E-4
287:9.95E-4
920:0.001036
919:9.96E-4
496:9.89E-4
526:9.97E-4
347:0.001073
858:0.001018
656:0.001009
425:9.86E-4
804:0.001043
415:9.89E-4
663:0.001035
450:9.72E-4
247:9.96E-4
136:9.8E-4
983:0.001052
319:9.84E-4
492:9.46E-4
814:0.001035
799:0.001002
657:0.001023
144:0.001004
961:0.001019
588:9.93E-4
323:0.001045
649:9.94E-4
751:0.001033
311:9.81E-4
261:9.83E-4
56:9.63E-4
304:9.62E-4
424:0.001022
571:9.52E-4
892:0.001036
914:9.6E-4
437:9.68E-4
268:9.97E-4
974:9.77E-4
10:0.001048
528:9.77E-4
822:0.001019
749:9.92E-4
269:9.59E-4
97:0.001008
767:9.74E-4
569:9.71E-4
6:9.79E-4
632:9.46E-4
149:9.71E-4
152:0.001018
725:9.84E-4
162:0.001017
832:9.83E-4
150:0.00105
652:0.001013
25:0.001033
265:0.001
842:9.64E-4
839:9.89E-4
860:9.71E-4
810:0.001027
459:9.64E-4
760:0.00102
179:0.001012
402:9.98E-4
390:0.001017
227:0.001013
229:9.97E-4
24:9.89E-4
313:0.001025
788:9.75E-4
262:0.001022
61:9.85E-4
833:9.88E-4
946:9.4E-4
901:0.00101
253:9.89E-4
707:9.84E-4
641:9.69E-4
129:9.45E-4
815:9.61E-4
340:9.94E-4
210:0.001039
365:0.00105
105:9.8E-4
582:0.001079
700:9.89E-4
568:0.001013
460:0.001005
49:0.001012
138:9.78E-4
200:9.94E-4
843:9.66E-4
134:0.001029
647:9.65E-4
70:0.001001
826:9.77E-4
382:0.001006
181:9.77E-4
155:9.82E-4
18:0.001038
2:9.93E-4
64:0.001006
873:9.69E-4
579:0.001022
252:0.001016
1:0.001023
167:9.62E-4
926:9.76E-4
786:0.001055
561:0.001
176:0.001045
452:0.001014
472:9.95E-4
159:0.001042
724:9.94E-4
630:0.001017
389:0.001039
669:9.98E-4
207:9.92E-4
308:0.001008
899:9.56E-4
197:9.72E-4
38:0.001015
721:9.85E-4
782:9.83E-4
234:0.00101
666:0.001058
759:0.001008
372:9.84E-4
957:9.99E-4
335:0.001002
75:0.001004
504:0.001003
30:0.001026
223:0.001011
233:9.9E-4
465:9.85E-4
85:0.001001
123:9.96E-4
548:9.75E-4
254:0.001028
293:0.001026
246:0.001024
480:9.7E-4
327:0.001002
758:0.001053
659:9.78E-4
856:0.001025
627:9.94E-4
506:0.001024
780:9.61E-4
288:0.001012
356:0.001012
405:9.45E-4
453:9.63E-4
9:0.001002
45:0.001005
277:9.97E-4
87:0.001023
895:9.86E-4
638:9.39E-4
577:0.001012
755:0.001028
987:9.55E-4
980:0.001024
220:0.001009
570:9.51E-4
131:0.00102
5:0.001022
444:0.001112
917:0.001004
714:9.79E-4
58:0.001008
761:9.84E-4
11:0.001001
523:0.001019
294:9.71E-4
163:9.86E-4
823:9.56E-4
545:0.001
933:0.001014
722:9.5E-4
44:9.27E-4
473:0.001012
89:9.37E-4
79:9.94E-4
114:0.001
865:9.64E-4
100:9.69E-4
310:9.88E-4
172:9.76E-4
779:0.001011
705:0.00102
63:0.001009
629:9.56E-4
226:0.001011
321:9.6E-4
421:0.001013
300:0.001059
764:9.69E-4
259:0.001
257:0.001052
239:0.001054
828:0.001018
690:9.65E-4
17:9.75E-4
423:9.98E-4
706:0.001041
732:9.35E-4
573:0.001041
812:9.92E-4
807:0.001039
468:9.89E-4
463:9.82E-4
888:0.001037
378:0.001032
15:9.99E-4
591:9.36E-4
240:9.96E-4
433:9.6E-4
317:0.001031
204:0.001016
781:9.53E-4
877:0.001003
642:0.001034
22:0.001001
611:0.001012
328:0.001009
522:9.84E-4
521:9.76E-4
918:9.35E-4
996:9.71E-4
413:0.001027
364:9.98E-4
776:0.001028
166:0.001001
596:0.001017
198:0.001007
374:9.37E-4
371:9.68E-4
734:9.42E-4
263:0.001
628:0.001016
360:0.00102
621:0.001029
894:9.45E-4
971:0.001
231:0.001005
211:0.001004
735:0.001036
850:0.001046
590:0.001096
682:0.001025
692:0.001029
336:0.001059
255:9.92E-4
12:0.001004
769:0.001012
733:0.001009
400:0.001031
698:9.76E-4
824:9.37E-4
409:9.68E-4
791:0.001048
278:0.001013
92:9.84E-4
62:9.32E-4
107:0.001015
20:0.001041
121:0.001002
510:0.001015
464:9.8E-4
345:9.54E-4
128:0.001021
744:0.001003
715:0.001004
736:9.9E-4
119:0.001015
535:0.001065
851:9.19E-4
800:9.55E-4
494:9.58E-4
844:9.97E-4
848:9.89E-4
924:0.00101
289:0.001019
130:9.75E-4
397:0.001011
174:9.99E-4
29:0.001005
39:9.77E-4
446:0.001053
375:0.001002
458:0.001013
270:9.24E-4
157:0.001045
928:0.001021
617:0.001007
440:9.78E-4
50:0.001021
133:0.001015
101:0.001029
538:0.00104
552:9.54E-4
343:9.83E-4
830:0.001023
46:0.001043
784:0.001036
219:9.72E-4
13:0.001039
110:0.001043
677:0.001019
35:9.4E-4
644:0.001023
379:0.00102
395:9.74E-4
670:9.74E-4
145:9.89E-4
140:0.001042
536:9.88E-4
960:0.00103
256:0.001027
619:9.7E-4
95:9.99E-4
648:9.96E-4
122:9.77E-4
251:9.73E-4
495:0.00101
636:9.78E-4
103:0.001018
295:9.87E-4
789:9.77E-4
896:9.98E-4
746:9.66E-4
283:9.69E-4
500:0.001006
605:9.81E-4
747:9.89E-4
366:9.96E-4
884:9.69E-4
889:9.98E-4
675:0.001019
115:0.00102
54:0.001022
802:9.81E-4
702:0.001038
939:0.001018
868:9.73E-4
994:0.001009
719:0.001036
643:0.001055
456:9.45E-4
876:0.001042
355:9.86E-4
699:0.001001
908:9.85E-4
187:9.96E-4
153:0.001011
275:9.73E-4
40:0.001017
773:0.001015
610:0.001012
891:0.00105
604:9.54E-4
969:9.98E-4
315:0.001002
120:9.91E-4
60:0.001024
370:0.001024
742:0.001024
651:9.11E-4
976:0.001015
339:9.85E-4
936:0.001014
626:9.64E-4
752:0.001025
943:9.34E-4
491:0.001026
88:0.001011
816:0.001034
783:9.83E-4
581:0.001024
923:0.001018
902:0.001002
332:0.001021
991:0.001018
687:9.66E-4
612:0.001056
420:0.001021
813:0.001002
890:0.001018
461:9.13E-4
439:0.00103
988:9.55E-4
554:9.83E-4
542:9.96E-4
792:9.73E-4
900:0.001038
797:0.001018
342:9.97E-4
290:9.85E-4
478:0.001012
817:0.001029
108:9.96E-4
498:0.001025
338:9.94E-4
942:9.93E-4
182:9.56E-4
435:9.69E-4
993:0.00102
931:9.78E-4
407:0.001024
911:9.55E-4
21:9.43E-4
173:0.001035
547:9.63E-4
161:0.001043
112:9.79E-4
305:9.7E-4
72:0.001007
344:9.92E-4
727:0.001055
487:9.75E-4
519:9.29E-4
990:9.55E-4
989:0.00102
737:9.91E-4
401:0.001041
777:0.001027
716:0.001015
696:9.62E-4
214:9.56E-4
870:9.43E-4
728:9.9E-4
408:0.001004
662:0.001038
447:9.68E-4
250:0.001049
147:0.001034
26:0.001017
653:9.09E-4
212:0.001059
615:0.001011
77:9.59E-4
202:0.001043
772:9.82E-4
412:0.001024
740:0.001026
847:9.81E-4
964:0.001031
43:0.001016
28:9.7E-4
377:0.001
637:9.96E-4
417:0.001
879:9.89E-4
151:0.001037
840:0.00104
330:9.66E-4
712:9.77E-4
710:0.00106
469:9.74E-4
527:9.87E-4
795:0.001029
386:9.54E-4
622:9.73E-4
381:0.001053
915:0.001036
307:0.001009
484:0.001011
146:0.001006
854:9.96E-4
543:0.001025
139:9.83E-4
117:9.72E-4
871:9.98E-4
154:9.96E-4
631:0.001011
540:9.67E-4
821:0.001011
116:9.68E-4
745:0.001048
694:9.82E-4
586:0.001022
903:9.75E-4
230:0.001071
893:9.79E-4
539:0.001015
883:0.001023
394:0.001003
192:0.001036
33:0.00101
303:0.001031
216:0.001057
633:9.78E-4
770:0.001029
470:0.001015
660:9.97E-4
499:9.75E-4
608:9.96E-4
886:9.85E-4
820:9.91E-4
160:9.74E-4
603:0.001032
618:0.001055
222:0.001029
965:9.58E-4
793:9.96E-4
76:9.83E-4
874:0.001048
634:0.001033
578:9.99E-4
299:9.89E-4
959:9.77E-4
422:9.89E-4
550:9.55E-4
595:9.7E-4
517:0.001042
206:0.001007
580:9.93E-4
910:9.76E-4
967:0.001036
297:0.001026
985:9.72E-4
907:0.001036
306:9.88E-4
717:0.001034
349:9.35E-4
878:0.001002
947:0.001019
228:9.73E-4
929:9.85E-4
457:9.78E-4
691:0.001095
156:0.001014
962:9.68E-4
544:9.79E-4
906:9.3E-4
999:0.001002
266:0.001002
224:0.001002
838:9.73E-4
148:9.56E-4
318:8.99E-4
363:0.001004
680:0.001039
713:0.001034
798:0.001034
83:0.001021
243:0.001024
74:0.001001
93:9.97E-4
171:0.001024
135:9.99E-4
958:9.48E-4
549:0.001043
426:0.001007
431:0.001014
673:9.9E-4
668:0.001008
587:0.001051
346:0.001036
945:9.72E-4
385:9.66E-4
808:0.001026
818:9.77E-4
65:0.001006
601:0.001007
614:0.001057
674:0.001066
553:9.92E-4
559:0.001051
404:0.001009
218:9.75E-4
785:9.97E-4
274:9.91E-4
124:9.77E-4
455:9.8E-4
684:0.001009
567:9.81E-4
98:0.001059
479:0.001001
244:0.001024
556:9.88E-4
624:9.11E-4
217:9.99E-4
778:9.7E-4
598:0.001015
872:0.00102
984:0.001034
309:9.61E-4
501:0.001019
805:0.001074
432:0.001004
466:9.56E-4
574:0.001016
158:9.42E-4
94:0.001003
225:9.95E-4
237:9.88E-4
753:9.8E-4
221:0.001029
490:9.72E-4
970:9.93E-4
607:0.001057
82:9.97E-4
963:0.00105
427:0.001033
678:0.001042
209:9.86E-4
829:0.001004
273:9.98E-4
796:0.001013
326:9.82E-4
602:9.5E-4
861:0.00102
743:9.81E-4
531:0.001027
142:0.001071
852:0.001051
428:9.58E-4
599:9.24E-4
298:9.97E-4
930:9.75E-4
314:0.001009
80:9.36E-4
837:9.64E-4
69:9.93E-4
846:9.45E-4
84:0.001061
584:9.93E-4
757:0.00102
451:0.001054
950:9.8E-4
774:9.94E-4
709:9.8E-4
898:9.7E-4
978:9.84E-4
723:9.87E-4
485:0.001009
513:0.001032
835:9.95E-4
566:9.87E-4
726:0.001043
912:0.001011
488:0.001007
96:0.001063
541:9.87E-4
766:9.61E-4
787:9.98E-4
32:0.001042
686:9.81E-4
664:9.97E-4
361:9.81E-4
655:0.001006
331:9.91E-4
515:9.82E-4
482:0.001033
711:9.86E-4
286:0.001032
189:9.94E-4
188:9.9E-4
350:0.001026
483:9.53E-4
486:0.001022
952:0.001019
53:9.86E-4
86:0.001033
855:0.001053
369:0.001029
442:9.96E-4
325:9.64E-4
183:0.001019
380:0.001013
67:9.86E-4
322:0.001098
909:9.67E-4
867:9.79E-4
534:9.95E-4
977:0.001044
316:0.001004
137:9.96E-4
57:9.78E-4
258:0.001035
241:9.66E-4
646:9.9E-4
825:0.001018
836:0.001002
48:9.91E-4
572:0.001017
388:9.7E-4
934:0.001025
916:9.86E-4
436:0.00101
177:0.00101
935:9.64E-4
141:9.85E-4
419:9.82E-4
672:9.85E-4
953:9.81E-4
831:0.001003
434:0.001047
625:0.00103
324:0.001023
362:9.87E-4
922:9.69E-4
429:0.001002
71:0.001013
102:0.00101
392:0.001006
398:0.001036
640:9.9E-4
913:9.92E-4
768:0.001004
296:9.79E-4
520:0.001004
467:9.65E-4
592:9.96E-4
841:0.001002
59:0.001052
887:0.001065
864:0.001041
78:9.74E-4
882:9.58E-4
175:9.94E-4
616:9.78E-4
949:9.4E-4
667:0.001027
475:0.001031
623:0.001004
645:0.001028
762:9.9E-4
885:9.83E-4
438:0.00102
27:0.001033
249:9.88E-4
981:0.001006
585:9.74E-4
51:9.77E-4
685:9.88E-4
284:9.02E-4
215:0.001002
594:0.001011
23:9.74E-4
897:0.001011
944:0.001017
849:0.001028
264:0.001004
955:9.94E-4
1000:9.77E-4
312:9.95E-4
68:9.58E-4
904:0.00102
279:0.001064
359:9.72E-4
720:0.001004
471:9.54E-4
794:0.001054
193:0.001008
31:0.001009
329:0.001034
524:0.001065
235:9.63E-4
201:9.68E-4
430:9.61E-4
576:9.96E-4
575:0.001028
606:9.86E-4
972:9.58E-4
245:0.001037
998:9.9E-4
982:0.001035
238:9.61E-4
635:0.001012
213:0.001031
801:0.001028
291:0.001037
383:0.001031
260:0.001008
497:0.001024
639:9.83E-4
693:0.001015
597:0.001011
558:0.00102
441:0.001013
358:0.001027
676:9.69E-4
272:9.51E-4
509:9.71E-4
384:9.52E-4
411:9.91E-4
803:9.88E-4
353:9.35E-4
267:0.001018
348:9.77E-4
91:9.76E-4
164:0.001003
650:9.31E-4
966:9.74E-4
393:9.42E-4
763:9.36E-4
292:0.001003
47:9.91E-4
845:0.001004
351:0.001024
132:9.4E-4
106:9.53E-4
941:0.001
857:0.001022
600:0.001004
564:9.95E-4
741:9.85E-4
661:9.51E-4
688:9.78E-4
995:0.001026
875:0.001019
37:0.001025
368:9.92E-4
66:9.7E-4
19:9.71E-4
708:0.001007
683:0.001009
938:0.001
203:9.8E-4
7:9.85E-4
36:9.78E-4
248:9.74E-4
302:0.001
99:9.81E-4
738:8.86E-4
589:0.001013
168:9.91E-4
593:0.001036
546:9.99E-4
199:9.75E-4
750:0.00101
921:0.001043
242:9.69E-4
126:0.001031
5:0.100008517
8:0.10000897
3:0.100002436
2:0.100014119
4:0.099997343
6:0.099989069
10:0.099990483
1:0.100006535
7:0.099983049
9:0.099999479
4:0.099615
9:0.1001
5:0.100386
1:0.099912
6:0.098956
3:0.099662
8:0.100619
2:0.100612
10:0.100168
7:0.09997

import java.io.File
import java.io.FileWriter
import java.util.Random

fun main(){

  // Set the number of random numbers to generate and the upper bound for the numbers
  val n = 1000000000
  val x = 10

  // Generate N random numbers between 1 and X
  val random = Random()
  val numbers = (1..n).map { random.nextInt(x) + 1 }

  // Calculate the probability of each number
  val counts = numbers.groupingBy { it }.eachCount()
  val total = numbers.size
  val probabilities = counts.mapValues { it.value.toDouble() / total }

  // Generate a file name based on the values of N and X
  val fileName = "kotlin_${x}_${n}"

  // Create the "outputs" directory if it does not exist
  // val dir = File("outputs")
  // if(!dir.exists()) dir.mkdir()

  // Write the probabilities to a file in the "outputs" directory
  FileWriter("../outputs/$fileName").use { writer ->
    probabilities.forEach { (number, probability) ->
      writer.write("$number:$probability\n")
    }
  }

}