ნებისმიერი რიცხვი 1-დან 5-მდე. შემთხვევითი რიცხვების გენერატორი

03.03.2020

წარმოდგენილი ონლაინ შემთხვევითი რიცხვების გენერატორი მუშაობს ფსევდო შემთხვევითი რიცხვების გენერატორის საფუძველზე JavaScript-ში ჩაშენებული ერთიანი განაწილებით. იქმნება მთელი რიცხვები. ნაგულისხმევად, 10 შემთხვევითი რიცხვი გამოდის 100...999 დიაპაზონში, რიცხვები გამოყოფილი ინტერვალებით.

შემთხვევითი რიცხვების გენერატორის ძირითადი პარამეტრები:

  • რიცხვების რაოდენობა
  • რიცხვების დიაპაზონი
  • გამყოფის ტიპი
  • გამეორებების მოხსნის ფუნქციის ჩართვა/გამორთვა (ნომრების დუბლიკატები)

საერთო რაოდენობა ფორმალურად შემოიფარგლება 1000-ით, მაქსიმუმ 1 მილიარდი. განმსაზღვრელი ვარიანტები: ინტერვალი, მძიმე, მძიმით.

ახლა თქვენ ზუსტად იცით სად და როგორ მიიღოთ შემთხვევითი რიცხვების უფასო თანმიმდევრობა მოცემულ დიაპაზონში ინტერნეტში.

აპლიკაციის ვარიანტები შემთხვევითი რიცხვების გენერატორისთვის

შემთხვევითი რიცხვების გენერატორი (RNG JS-ში ერთიანი განაწილებით) სასარგებლო იქნება SMM-ის სპეციალისტებისთვის და ჯგუფებისა და თემების მფლობელებისთვის სოციალურ ქსელებში Instagram, Facebook, VKontakte, Odnoklassniki, რათა დადგინდეს ლატარიების, კონკურსებისა და პრიზების გამარჯვებულები.

შემთხვევითი რიცხვების გენერატორი საშუალებას გაძლევთ გათამაშოთ პრიზები მონაწილეთა თვითნებურ რაოდენობას შორის გამარჯვებულთა განსაზღვრული რაოდენობით. კონკურსები შეიძლება ჩატარდეს ხელახალი გამოქვეყნებისა და კომენტარების გარეშე - თქვენ თავად ადგენთ მონაწილეთა რაოდენობას და შემთხვევითი რიცხვების გენერირების ინტერვალს. ამ საიტზე შეგიძლიათ მიიღოთ შემთხვევითი ნომრების ნაკრები ონლაინ და უფასოდ და არ გჭირდებათ რაიმე აპლიკაციის ინსტალაცია თქვენს სმარტფონზე ან პროგრამაზე თქვენს კომპიუტერში.

ასევე, ონლაინ შემთხვევითი რიცხვების გენერატორი შეიძლება გამოყენებულ იქნას მონეტის ან კამათლის სროლის სიმულაციისთვის. თუმცა, ჩვენ გვაქვს ცალკე სპეციალიზებული სერვისები ამ შემთხვევებისთვის.

ჩვენ გვაქვს რიცხვების თანმიმდევრობა, რომელიც შედგება პრაქტიკულად დამოუკიდებელი ელემენტებისაგან, რომლებიც ემორჩილებიან მოცემულ განაწილებას. როგორც წესი, ერთგვაროვანი განაწილება.

შეგიძლიათ შემთხვევითი რიცხვების გენერირება Excel-ში სხვადასხვა გზით და გზებით. განვიხილოთ მხოლოდ საუკეთესო მათგანი.

შემთხვევითი რიცხვების ფუნქცია Excel-ში

  1. RAND ფუნქცია აბრუნებს შემთხვევით, თანაბრად განაწილებულ რეალურ რიცხვს. ეს იქნება 1-ზე ნაკლები, 0-ზე მეტი ან ტოლი.
  2. ფუნქცია RANDBETWEEN აბრუნებს შემთხვევით რიცხვს.

მოდით შევხედოთ მათ გამოყენებას მაგალითებით.

შემთხვევითი რიცხვების შერჩევა RAND-ის გამოყენებით

ეს ფუნქცია არ საჭიროებს არგუმენტებს (RAND()).

შემთხვევითი რეალური რიცხვის გენერირებისთვის 1-დან 5-მდე დიაპაზონში, მაგალითად, გამოიყენეთ შემდეგი ფორმულა: =RAND()*(5-1)+1.

დაბრუნებული შემთხვევითი რიცხვი თანაბრად ნაწილდება ინტერვალზე.

ყოველ ჯერზე, როდესაც სამუშაო ფურცელი გამოითვლება ან ცვალებადობს მნიშვნელობა სამუშაო ფურცლის რომელიმე უჯრედში, ბრუნდება ახალი შემთხვევითი რიცხვი. თუ გსურთ გენერირებული პოპულაციის შენახვა, შეგიძლიათ შეცვალოთ ფორმულა მისი მნიშვნელობით.

  1. დააწკაპუნეთ უჯრედზე შემთხვევითი ნომრით.
  2. ფორმულის ზოლში აირჩიეთ ფორმულა.
  3. დააჭირეთ F9. და შედი.

შევამოწმოთ შემთხვევითი რიცხვების განაწილების ერთგვაროვნება პირველი ნიმუშიდან განაწილების ჰისტოგრამის გამოყენებით.


ვერტიკალური მნიშვნელობების დიაპაზონი არის სიხშირე. ჰორიზონტალური - "ჯიბეები".



RANDBETWEEN ფუნქცია

RANDBETWEEN ფუნქციის სინტაქსია (ქვედა ზღვარი; ზედა ზღვარი). პირველი არგუმენტი მეორეზე ნაკლები უნდა იყოს. წინააღმდეგ შემთხვევაში, ფუნქცია შეცდომას უშვებს. საზღვრები ითვლება მთელ რიცხვებად. ფორმულა უგულებელყოფს წილადის ნაწილს.

ფუნქციის გამოყენების მაგალითი:

შემთხვევითი რიცხვები 0.1 და 0.01 სიზუსტით:

როგორ შევქმნათ შემთხვევითი რიცხვების გენერატორი Excel-ში

მოდით შევქმნათ შემთხვევითი რიცხვების გენერატორი, რომელიც გამოიმუშავებს მნიშვნელობას გარკვეული დიაპაზონიდან. ჩვენ ვიყენებთ ფორმულას, როგორიცაა: =INDEX(A1:A10,INTEGER(RAND()*10)+1).

მოდით შევქმნათ შემთხვევითი რიცხვების გენერატორი 0-დან 100-მდე დიაპაზონში 10 საფეხურზე.

თქვენ უნდა აირჩიოთ 2 შემთხვევითი ტექსტის მნიშვნელობების სიიდან. RAND ფუნქციის გამოყენებით, ჩვენ ვადარებთ ტექსტის მნიშვნელობებს A1:A7 დიაპაზონში შემთხვევით რიცხვებთან.

მოდით გამოვიყენოთ INDEX ფუნქცია ორიგინალური სიიდან ორი შემთხვევითი ტექსტის მნიშვნელობის შესარჩევად.

სიიდან ერთი შემთხვევითი მნიშვნელობის ასარჩევად გამოიყენეთ შემდეგი ფორმულა: =INDEX(A1:A7,RANDBETWEEN(1,COUNT(A1:A7))).

ნორმალური განაწილების შემთხვევითი რიცხვების გენერატორი

RAND და RANDBETWEEN ფუნქციები წარმოქმნიან შემთხვევით რიცხვებს ერთგვაროვანი განაწილებით. ნებისმიერი მნიშვნელობა იგივე ალბათობით შეიძლება მოხვდეს მოთხოვნილი დიაპაზონის ქვედა ზღვარში და ზედა ზღვარში. ეს იწვევს უზარმაზარ გავრცელებას სამიზნე ღირებულებიდან.

ნორმალური განაწილება გულისხმობს, რომ გენერირებული რიცხვების უმეტესობა ახლოსაა სამიზნე რიცხვთან. მოდით დავარეგულიროთ RANDBETWEEN ფორმულა და შევქმნათ მონაცემთა მასივი ნორმალური განაწილებით.

X პროდუქტის ღირებულება 100 რუბლია. წარმოებული მთელი პარტია მიჰყვება ნორმალურ განაწილებას. შემთხვევითი ცვლადი ასევე მიჰყვება ალბათობის ნორმალურ განაწილებას.

ასეთ პირობებში, დიაპაზონის საშუალო ღირებულებაა 100 რუბლი. მოდით შევქმნათ მასივი და ავაშენოთ გრაფიკი ნორმალური განაწილებით სტანდარტული გადახრით 1,5 რუბლი.

ჩვენ ვიყენებთ ფუნქციას: =NORMINV(RAND();100;1.5).

Excel-მა გამოითვალა რომელი მნიშვნელობები იყო ალბათობის დიაპაზონში. ვინაიდან 100 რუბლის ღირებულების პროდუქტის წარმოების ალბათობა მაქსიმალურია, ფორმულა აჩვენებს მნიშვნელობებს 100-მდე უფრო ხშირად, ვიდრე სხვები.

მოდით გადავიდეთ გრაფიკის შედგენაზე. ჯერ თქვენ უნდა შექმნათ ცხრილი კატეგორიებით. ამისათვის ჩვენ ვყოფთ მასივს პერიოდებად:

მიღებული მონაცემების საფუძველზე შეგვიძლია გენერირება დიაგრამა ნორმალური განაწილებით. მნიშვნელობის ღერძი არის ცვლადების რაოდენობა ინტერვალში, კატეგორიის ღერძი არის პერიოდები.

რიცხვები ჩვენს ირგვლივ დაბადებიდანვეა და მნიშვნელოვან როლს თამაშობს ცხოვრებაში. ბევრისთვის მათი ნამუშევარი თავად ციფრებთან არის დაკავშირებული, ზოგი იღბალს ეყრდნობა, ლატარიის ბილეთებს რიცხვებით ავსებს, ზოგი კი მისტიკურ მნიშვნელობას ანიჭებს მათ. ასეა თუ ისე, ზოგჯერ ჩვენ არ შეგვიძლია ისეთი პროგრამის გამოყენების გარეშე, როგორიცაა შემთხვევითი რიცხვების გენერატორი.

მაგალითად, თქვენ უნდა მოაწყოთ საპრიზო გათამაშება თქვენი ჯგუფის აბონენტებს შორის. ჩვენი ონლაინ შემთხვევითი რიცხვების გენერატორი დაგეხმარებათ სწრაფად და გულწრფელად აირჩიოთ გამარჯვებულები. თქვენ უბრალოდ გჭირდებათ, მაგალითად, დააყენოთ შემთხვევითი ნომრების საჭირო რაოდენობა (გამარჯვებულთა რაოდენობაზე დაყრდნობით) და მაქსიმალური დიაპაზონი (მონაწილეთა რაოდენობის მიხედვით, თუ მათ ნომრები ენიჭებათ). თაღლითობა ამ შემთხვევაში სრულიად გამორიცხულია.

ეს პროგრამა ასევე შეიძლება იყოს შემთხვევითი რიცხვების გენერატორი ლოტოსთვის. მაგალითად, თქვენ იყიდეთ ბილეთი და გსურთ მთლიანად დაეყრდნოთ შანსს და იღბალს ნომრების არჩევისას. მაშინ ჩვენი ნომრების რანდომიზატორი დაგეხმარებათ შეავსოთ თქვენი ლატარიის ბილეთი.

როგორ შევქმნათ შემთხვევითი რიცხვი: ინსტრუქციები

შემთხვევითი რიცხვების პროგრამამუშაობს ძალიან მარტივად. თქვენ არც კი გჭირდებათ მისი კომპიუტერში ჩამოტვირთვა - ყველაფერი კეთდება ბრაუზერის ფანჯარაში, სადაც ეს გვერდი ღიაა. შემთხვევითი რიცხვები იქმნება რიცხვების მითითებული რაოდენობის და მათი დიაპაზონის შესაბამისად - 0-დან 999999999-მდე.

ნომრის ონლაინ გენერირებისთვის საჭიროა:

  1. აირჩიეთ დიაპაზონი, რომელშიც გსურთ შედეგი. შესაძლოა, გსურთ 10-მდე ან, ვთქვათ, 10000-მდე რიცხვების ამოჭრა;
  2. გამეორებების აღმოფხვრა - ამ პარამეტრის არჩევით თქვენ აიძულებთ **რიცხვების რანდომიზერს** შემოგთავაზოთ მხოლოდ უნიკალური კომბინაციები გარკვეულ დიაპაზონში;
  3. აირჩიეთ ნომრების რაოდენობა - 1-დან 99999-მდე;
  4. დააჭირეთ ღილაკს "ნომრების გენერირება".

არ აქვს მნიშვნელობა რამდენი რიცხვი გსურთ მიიღოთ შედეგად, პირველი რიცხვების გენერატორი გამოიმუშავებს მთელ შედეგს ერთდროულად და თქვენ შეგიძლიათ ნახოთ იგი ამ გვერდზე მაუსის ან სენსორული პანელის გამოყენებით ველში ციფრების გადახვევით.

ახლა თქვენ შეგიძლიათ გამოიყენოთ მზა ნომრები ისე, როგორც გჭირდებათ. ნომრის ველიდან შეგიძლიათ დააკოპიროთ შედეგი ჯგუფში გამოსაქვეყნებლად ან ფოსტით გასაგზავნად. და ისე, რომ შედეგმა არ გააჩინოს რაიმე ეჭვი, გადაიღეთ ამ გვერდის სკრინშოტი, რომელზედაც ნათლად ჩანს რიცხვების რანდომიზატორის პარამეტრები და პროგრამის შედეგები. ველში ნომრების შეცვლა შეუძლებელია, ამიტომ მანიპულირების შესაძლებლობა გამორიცხულია. ვიმედოვნებთ, რომ ჩვენი ვებგვერდი და შემთხვევითი რიცხვების გენერატორი დაგეხმარებათ.

ოდესმე დაფიქრებულხართ როგორ მუშაობს Math.random()? რა არის შემთხვევითი რიცხვი და როგორ მიიღება იგი? წარმოიდგინეთ ინტერვიუს კითხვა - ჩაწერეთ თქვენი შემთხვევითი რიცხვების გენერატორი კოდის რამდენიმე სტრიქონში. მაშ, რა არის ეს, უბედური შემთხვევა და შესაძლებელია თუ არა მისი პროგნოზირება?

მე ძალიან მოხიბლული ვარ სხვადასხვა IT თავსატეხებით და ამოცანებით და შემთხვევითი რიცხვების გენერატორი ერთ-ერთი ასეთი ამოცანაა. ჩვეულებრივ, ჩემს Telegram არხზე ვაანალიზებ ყველა სახის თავსატეხს და სხვადასხვა დავალებას ინტერვიუებიდან. შემთხვევითი რიცხვების გენერატორის პრობლემამ დიდი პოპულარობა მოიპოვა და მინდოდა მისი გამყარება ინფორმაციის ერთ-ერთი ავტორიტეტული წყაროს სიღრმეში - ანუ აქ, ჰაბრეზე.

ეს მასალა გამოადგება ყველა იმ front-end და Node.js დეველოპერებს, რომლებიც არიან ტექნოლოგიების უახლესი ვერსიით და სურთ ბლოკჩეინის პროექტში/სტარტაპში მოხვედრა, სადაც ფრონტ-ენდის დეველოპერებსაც კი უსვამენ კითხვებს უსაფრთხოებისა და კრიპტოგრაფიის შესახებ. მინიმუმ საბაზისო დონეზე.

ფსევდო შემთხვევითი რიცხვების გენერატორი და შემთხვევითი რიცხვების გენერატორი

იმისათვის, რომ მივიღოთ რაიმე შემთხვევითი, ჩვენ გვჭირდება ენტროპიის წყარო, გარკვეული ქაოსის წყარო, საიდანაც გამოვიყენებთ შემთხვევითობის გამომუშავებას.

ეს წყარო გამოიყენება ენტროპიის დასაგროვებლად და შემდეგ მისგან საწყისი მნიშვნელობის (seed) მისაღებად, რომელიც აუცილებელია შემთხვევითი რიცხვების გენერატორებისთვის (RNG) შემთხვევითი რიცხვების გენერირებისთვის.

ფსევდო შემთხვევითი რიცხვების გენერატორი იყენებს ერთ თესლს, აქედან გამომდინარეობს მისი ფსევდო შემთხვევითობა, ხოლო შემთხვევითი რიცხვების გენერატორი ყოველთვის აგენერირებს შემთხვევით რიცხვს მაღალი ხარისხის შემთხვევითი ცვლადით დაწყებული, რომელიც გამოყვანილია ენტროპიის სხვადასხვა წყაროდან.

ენტროპია არეულობის საზომია. ინფორმაციის ენტროპია არის ინფორმაციის გაურკვევლობის ან არაპროგნოზირებადობის საზომი.
გამოდის, რომ ფსევდო შემთხვევითი მიმდევრობის შესაქმნელად გვჭირდება ალგორითმი, რომელიც გამოიმუშავებს გარკვეულ თანმიმდევრობას გარკვეული ფორმულის საფუძველზე. მაგრამ ასეთი თანმიმდევრობის პროგნოზირება შესაძლებელია. თუმცა, წარმოვიდგინოთ, როგორ შეგვეძლო დავწეროთ ჩვენი შემთხვევითი რიცხვების გენერატორი, თუ არ გვქონდა Math.random()

PRNG-ს აქვს გარკვეული ალგორითმი, რომლის რეპროდუცირება შესაძლებელია.
RNG არის რიცხვების მიღების პროცესი მთლიანად გარკვეული სახის ხმაურიდან, გამოთვლის უნარი, რომელიც მიდრეკილია ნულისკენ. ამავდროულად, RNG-ს აქვს გარკვეული ალგორითმები განაწილების გასათანაბრებლად.

ჩვენ შევიმუშავეთ ჩვენი PRNG ალგორითმი

ფსევდორანდომი რიცხვების გენერატორი (PRNG) არის ალგორითმი, რომელიც აგენერირებს რიცხვების თანმიმდევრობას, რომელთა ელემენტები თითქმის ერთმანეთისგან დამოუკიდებელია და ემორჩილება მოცემულ განაწილებას (ჩვეულებრივ ერთგვაროვანს).
შეგვიძლია ავიღოთ რამდენიმე რიცხვის მიმდევრობა და ავიღოთ რიცხვის მოდული მათგან. უმარტივესი მაგალითი, რომელიც მახსენდება. უნდა ვიფიქროთ, რომელი თანმიმდევრობა ავიღოთ და მოდული რისგან. თუ პირდაპირ 0-დან N-მდე და მოდულ 2-მდე მიიღებთ გენერატორს 1 და 0:

ფუნქცია* rand() ( const n = 100; const mod = 2; მოდით i = 0; while (true) (გამოღება i % mod; თუ (i++ > n) i = 0; ) ) მოდით i = 0; for (დავუშვათ x-ის rand()) (თუ (i++ > 100) გატეხილია; console.log(x); )
ეს ფუნქცია წარმოქმნის თანმიმდევრობას 01010101010101... და მას ფსევდოშემთხვევაც კი არ შეიძლება ვუწოდოთ. იმისათვის, რომ გენერატორი იყოს შემთხვევითი, მან უნდა გაიაროს შემდეგი ბიტის ტესტი. მაგრამ ჩვენ არ გვაქვს ასეთი დავალება. მიუხედავად ამისა, ყოველგვარი ტესტის გარეშეც შეგვიძლია შემდეგი თანმიმდევრობის პროგნოზირება, რაც ნიშნავს, რომ ასეთი ალგორითმი არ არის შესაფერისი, მაგრამ ჩვენ სწორი მიმართულებით ვართ.

რა მოხდება, თუ ავიღებთ ცნობილ, მაგრამ არაწრფივ მიმდევრობას, მაგალითად რიცხვს PI. მოდულის მნიშვნელობად ჩვენ ავიღებთ არა 2, არამედ რაღაც სხვას. თქვენ შეგიძლიათ იფიქროთ მოდულის ცვალებად ღირებულებაზე. რიცხვების თანმიმდევრობა Pi-ში განიხილება შემთხვევითი. გენერატორს შეუძლია იმუშაოს Pi ნომრების გამოყენებით უცნობი წერტილიდან დაწყებული. ასეთი ალგორითმის მაგალითი, PI-ზე დაფუძნებული თანმიმდევრობით და ცვლადი მოდულით:

Const ვექტორი = [...Math.PI.toFixed(48).replace(".","")]; ფუნქცია* rand() ( for (დავუშვათ i=3; i<1000; i++) { if (i >99) i = 2; ამისთვის (მოდით n=0; n მაგრამ JS-ში PI ნომრის ჩვენება შესაძლებელია მხოლოდ 48 ციფრამდე და არა მეტი. ამიტომ, ჯერ კიდევ ადვილია ასეთი თანმიმდევრობის პროგნოზირება და ასეთი გენერატორის ყოველი გაშვება ყოველთვის ერთსა და იმავე რიცხვებს გამოიმუშავებს. მაგრამ ჩვენმა გენერატორმა უკვე დაიწყო ციფრების ჩვენება 0-დან 9-მდე.

ჩვენ მივიღეთ რიცხვების გენერატორი 0-დან 9-მდე, მაგრამ განაწილება ძალიან არათანაბარია და ყოველ ჯერზე იგივე თანმიმდევრობას გამოიმუშავებს.

რიცხვითი წარმოდგენისას შეგვიძლია ავიღოთ არა Pi რიცხვი, არამედ დრო და მივიჩნიოთ ეს რიცხვი რიცხვების თანმიმდევრობად და იმისთვის, რომ ყოველ ჯერზე მიმდევრობა არ განმეორდეს, მას ბოლოდან წავიკითხავთ. საერთო ჯამში, ჩვენი PRNG ალგორითმი ასე გამოიყურება:

ფუნქცია* rand() ( მოდით newNumVector = () => [...(+ახალი თარიღი)+""].reverse(); მოდით ვექტორი = newNumVector(); მოდით i=2; while (true) ( თუ (i++ > 99) i = 2; მოდით n=-1; ხოლო (++n< vector.length) yield (vector[n] % i); vector = newNumVector(); } } // TEST: let i = 0; for (let x of rand()) { if (i++ >100) შესვენება; console.log(x)
ეს უკვე ფსევდო შემთხვევითი რიცხვების გენერატორს ჰგავს. და იგივე Math.random() არის PRNG, ამაზე ცოტა მოგვიანებით ვისაუბრებთ. უფრო მეტიც, ყოველ ჯერზე ვიღებთ განსხვავებულ პირველ რიცხვს.

სინამდვილეში, ამ მარტივი მაგალითების გამოყენებით შეგიძლიათ გაიგოთ, თუ როგორ მუშაობს უფრო რთული შემთხვევითი რიცხვების გენერატორები.და კიდევ არის მზა ალგორითმები. მაგალითად, მოდით შევხედოთ ერთ-ერთ მათგანს — ეს არის წრფივი თანმიმდევრული PRNG (LCPRNG).

წრფივი კონგრუენტი PRNG

წრფივი თანმიმდევრული PRNG (LCPRNG) არის ფსევდო შემთხვევითი რიცხვების გენერირების გავრცელებული მეთოდი. ის არ არის კრიპტოგრაფიულად ძლიერი. ეს მეთოდი შედგება წრფივი განმეორებადი თანმიმდევრობის ტერმინების გამოთვლაში, ზოგიერთი ბუნებრივი რიცხვის m მოდულის მიხედვით, რომელიც მოცემულია ფორმულით. შედეგად მიღებული თანმიმდევრობა დამოკიდებულია საწყისი რიცხვის არჩევანზე — ე.ი. თესლი. სხვადასხვა სათესლე მნიშვნელობებით, მიიღება შემთხვევითი რიცხვების სხვადასხვა თანმიმდევრობა. JavaScript-ში ასეთი ალგორითმის განხორციელების მაგალითი:

Const a = 45; const c = 21; const m = 67; var თესლი = 2; const rand = () => seed = (a * seed + c) % m; for(მოდით i=0; i<30; i++) console.log(rand())
ბევრი პროგრამირების ენა იყენებს LCPRNG (მაგრამ არა ზუსტად ამ ალგორითმს(!)).

როგორც ზემოთ აღინიშნა, ასეთი თანმიმდევრობის პროგნოზირება შესაძლებელია. რატომ გვჭირდება PRNG? თუ ვსაუბრობთ უსაფრთხოებაზე, მაშინ PRNG პრობლემაა. თუ ვსაუბრობთ სხვა ამოცანებზე, მაშინ ეს თვისებები შეიძლება იყოს პლუსი. მაგალითად, სხვადასხვა სპეციალური ეფექტებისა და გრაფიკული ანიმაციისთვის, შეიძლება დაგჭირდეთ ხშირად დარეკვა შემთხვევით. და სწორედ აქ არის მნიშვნელოვანი მნიშვნელობების განაწილება და შესრულება! უსაფრთხო ალგორითმები ვერ დაიკვეხნის სიჩქარით.

კიდევ ერთი თვისებაა განმეორებადობა. ზოგიერთი განხორციელება საშუალებას გაძლევთ მიუთითოთ თესლი და ეს ძალიან სასარგებლოა, თუ თანმიმდევრობა უნდა განმეორდეს. რეპროდუქცია საჭიროა ტესტებში, მაგალითად. და არის ბევრი სხვა რამ, რაც არ საჭიროებს უსაფრთხო RNG-ს.

როგორ მუშაობს Math.random().

Math.random() მეთოდი აბრუნებს ფსევდო შემთხვევითი მცურავი წერტილის რიცხვს დიაპაზონიდან = crypto.getRandomValues(new Uint8Array(1)); console.log(rvalue)
მაგრამ Math.random() PRNG-ისგან განსხვავებით, ეს მეთოდი ძალიან რესურსზე ინტენსიურია. ფაქტია, რომ ეს გენერატორი იყენებს სისტემურ ზარებს OS-ში, რათა მოიპოვოს წვდომა ენტროპიის წყაროებზე (mac მისამართი, CPU, ტემპერატურა და ა.შ.).



მსგავსი სტატიები
 
კატეგორიები