Nambari ya nasibu Jenereta
Tengeneza nambari nasibu papo hapo kwenye kivinjari chako. Geuza masafa, hesabu na umbizo kukufaa. Bure, ya faragha, na hakuna data iliyotumwa kwa seva yoyote.
Tengeneza
Tengeneza nambari nasibu papo hapo kwenye kivinjari chako. Geuza masafa, hesabu na umbizo kukufaa. Bure, ya faragha, na hakuna data iliyotumwa kwa seva yoyote.
Tengeneza
Jenereta za nambari nasibu hutoa nambari ndani ya masafa maalum bila muundo unaoweza kutabirika. Programu za kawaida ni pamoja na kukunja kete, kuchagua nambari za bahati nasibu, sampuli za kazi ya takwimu, kutoa data ya majaribio na muktadha wowote ambapo chaguo lisilopendelea linahitajika. Ubora wa nasibu unategemea chanzo: vyanzo hafifu vinaweza kutoa nambari zinazoonekana nasibu lakini zenye mifumo inayotambulika; vyanzo vikali havitabiriki hata kwa uchambuzi wa hali ya juu.
Jenereta hii hutumia chanzo nasibu kilicho salama kwa njia fiche (window.crypto.getRandomValues) kwa matumizi yanayohusiana na usalama, pamoja na urejeshaji wa hiari wa Math.random kwa matumizi ya burudani ambapo kasi ni muhimu zaidi kuliko usalama. Kwa orodha za kete, chaguzi za shindano, au chochote kinachoathiri matokeo, chanzo salama ndicho chaguo sahihi.
Idadi ya matokeo na hesabu zinaweza kusanidiwa. Tengeneza nambari moja, kadhaa kwa wakati mmoja, au mlolongo wenye upekee wa hiari (hakuna nakala). Miundo ya pato ni pamoja na nambari za kawaida, orodha zilizotenganishwa kwa koma, na maandishi ya kila mstari.
Maamuzi mengi madogo yanafaidika kutokana na uteuzi wa nasibu usiopendelea. Kuchagua mshindi wa shindano, kuamua ni mkahawa upi wa kujaribu, kupanga mpangilio wa kesi za majaribio bila mpangilio, safu mlalo za sampuli kutoka kwa mkusanyiko wa data - zote zinaboreshwa na jenereta ya nambari nasibu ambayo haijumuishi upendeleo wa kibinadamu.
Kazi ya takwimu na kisayansi pia inategemea unasibu wa ubora. Uigaji wa Monte Carlo, ugawaji wa ndoo za majaribio za A/B, uwekaji nasibu wa pembejeo za majaribio, na mbinu nyingine nyingi zinahitaji nambari ambazo zinalingana kitakwimu na hazitabiriki kwa mfumo unaosomwa.
Weka anuwai na hesabu, toa.
Uzalishaji kamili wa nasibu: pata byte nasibu (au neno) kutoka kwa crypto.getRandomValues, tumia sampuli za kukataliwa ili kuepuka upendeleo wa modulo, ramani kwa masafa unayotaka. Moduli ya kawaida bila sampuli ya kukataliwa hutoa upendeleo kidogo kwa masafa ambayo hayagawanyi sawasawa katika masafa ya chanzo; sampuli za kukataliwa huepuka hii.
Uzalishaji nambari kamili usio na upendeleo: toa baiti nasibu, ikiwa byte > sakafu(256/safa) × masafa, kataa na ujaribu tena, vinginevyo rudisha masafa ya baiti. Kiwango cha kukataliwa ni zaidi ya 50% kwa wastani, kwa hivyo algorithm ni haraka hata kwa safu ngumu.
Math.random vs crypto.getRandomValues: Math.random ni ya haraka zaidi lakini hutumia xorshift au PRNG zinazofanana ambazo zinaweza kutabiriwa kutokana na matokeo ya kutosha. crypto.getRandomValues ni salama kwa njia fiche. Kwa matumizi yasiyo ya usalama (kete, chaguo za kawaida), ama inafanya kazi; kwa usalama, tumia crypto.