ตัวอย่างการกระจาย Pareto


22

การแจกแจงแบบพาเรโตเป็นการแจกแจงความน่าจะเป็นที่เกิดขึ้นตามธรรมชาติ มันมีคุณสมบัติพิเศษมากมายเช่นค่าเฉลี่ยไม่สิ้นสุด ในความท้าทายนี้คุณจะส่งออกจำนวนตัวอย่างจากการกระจายนี้

การแจกแจงแบบพาเรโต้ถูกกำหนดให้มากกว่าหรือเท่ากับxความน่าจะ1/xเป็นสำหรับทั้งหมดที่xมากกว่าหรือเท่ากับ 1

ดังนั้นตัวเลขที่สุ่มตัวอย่างจากการแจกแจงนี้มีค่ามากกว่าหรือเท่ากับ 1 ที่มีความน่าจะเป็น 1 มากกว่าหรือเท่ากับ 2 ที่มีความน่าจะเป็น 1/2 อย่างยิ่งมากกว่าหรือเท่ากับ 3 ที่มีความน่าจะเป็น 1/3 อย่างแท้จริงมากกว่าหรือเท่ากับ 11.4 ด้วยความน่าจะเป็นที่แน่นอน 1 / 11.4 และอื่น ๆ

เนื่องจากคุณจะสุ่มตัวอย่างการกระจายตัวนี้โปรแกรมหรือฟังก์ชั่นของคุณจะไม่รับอินพุตและส่งออกตัวเลขสุ่มโดยมีความน่าจะเป็นข้างต้น อย่างไรก็ตามหากโปรแกรมของคุณไม่ตรงกับความน่าจะเป็นข้างต้นอย่างสมบูรณ์เนื่องจากการแสดงผลแบบอิงดัชนี ดูด้านล่างของความท้าทายสำหรับรายละเอียดเพิ่มเติม

(สิ่งนี้เรียกว่าการกระจาย Pareto ที่มีอัลฟา 1 และขอบเขตที่ต่ำกว่า 1 เป็นที่แน่นอน)

ตัวอย่าง 10 ตัวอย่างต่อไปนี้มาจากการแจกจ่าย:

1.1540029602790338
52.86156818209856
3.003306506971116
1.4875532217142287
1.3604286212876546
57.5263129600285
1.3139866916055676
20.25125817471419
2.8105749663695208
1.1528212409680156

สังเกตว่ามี 5 คนต่ำกว่า 2 และ 5 สูงกว่า 2 เนื่องจากนี่เป็นผลลัพธ์โดยเฉลี่ยแน่นอนอาจสูงหรือต่ำกว่า

คำตอบของคุณจะต้องแก้ไขได้ถึงขีด จำกัด ของประเภทเลขทศนิยมของคุณชนิดจำนวนจริงหรืออะไรก็ตามที่คุณใช้ แต่คุณต้องสามารถแสดงตัวเลขอย่างน้อย 3 หลักทศนิยมที่มีความแม่นยำและแสดงตัวเลขได้สูงสุด 1,000,000 . หากคุณไม่แน่ใจว่ามีบางอย่างโอเคคุณสามารถถามได้ฟรี

นี่คือรหัสกอล์ฟ


รายละเอียดเกี่ยวกับความไม่แน่นอน:

  • สำหรับแต่ละช่วง[a, b]ที่น่าจะเหมาะที่กลุ่มตัวอย่างจะตกอยู่ในช่วงที่เป็น1 <= a < b 1/a - 1/bน่าจะเป็นที่โปรแกรมของคุณผลิตตัวเลขในช่วงที่จะต้องอยู่กับของ0.001 1/a - 1/bถ้าเป็นผลลัพธ์ของโปรแกรมของคุณจะต้องให้X|P(a <= X <= b) - (1/a - 1/b)| < 0.001

  • โปรดทราบว่าด้วยการใช้กฎข้างต้นด้วยa=1และbมีขนาดใหญ่พอสมควรเป็นกรณีที่โปรแกรมของคุณต้องแสดงผลตัวเลขที่มากกว่าหรือเท่ากับ 1 โดยมีความน่าจะเป็นอย่างน้อย 0.999 เวลาที่เหลืออาจทำให้เกิดปัญหาเอาต์พุตInfinityหรือทำสิ่งอื่น

ฉันค่อนข้างแน่ใจว่าการส่งแบบฟอร์มที่มีอยู่1/1-xหรือ1/xที่xเป็นแบบสุ่มใน[0, 1)หรือ(0, 1)หรือ[0, 1]ทั้งหมดตรงตามข้อกำหนดนี้


ขอให้เรายังคงอภิปรายนี้ในการแชท
isaacg

2
หมายเหตุสำหรับทุกคน: issacg ได้เพิ่มกฎบางอย่างที่อนุญาตให้มีข้อ จำกัด บางประการดังนั้นคำตอบส่วนใหญ่ที่นี่จึงยาวเกินความจำเป็น [ขออภัยสำหรับความคิดเห็นที่ไม่เหมาะสมเช่นกัน แต่นั่นคือสิ่งที่จะเกิดขึ้นเมื่อ OP เปลี่ยนคำถามอย่างมีนัยสำคัญ]
user202729

คำตอบ:


6

MATL , 3 ไบต์

1r/

ลองออนไลน์! หรือประเมินความน่าจะเป็นที่ได้จากการรัน 10,000 ครั้ง

คำอธิบาย

1    % Push 1
r    % Push random number uniformly distributed on the open interval (0,1)
/    % Divide. Implicitly display

หลังจากการชี้แจงและแก้ไขใน OP คำตอบนี้เป็นไปตามกฎของการท้าทาย
Luis Mendo


5

R, 10 ไบต์

1/runif(1)

ตรงไปตรงมาสวย


2
โปรดทราบว่าrunif ไม่เคยส่งคืน 0 หรือ 1 ในกรณีเริ่มต้นดังนั้นจึงไม่มีปัญหากับเรื่องนี้
Giuseppe

ใช่ขอบคุณ. และฉันไม่ได้คิดถึงมันเมื่อป้อนคำตอบนี้ แต่คุณสามารถตรวจสอบการกระจายได้หากจำเป็น
plannapus

2
@ เช่นนั้นไม่ถูกต้อง การแจกแจงแบบพาเรโตนั้นมีความต่อเนื่องและมีการวัด 0 สำหรับหมายเลขใด ๆ
Therkel

3
@ ตกลงที่อาจจะดูดทรายสำหรับฉัน (ให้ฉันรู้ว่าไม่มีอะไรเกี่ยวกับจุดลอย) แต่จริง ๆ แล้วฉันคิดว่าในขณะที่ความน่าจะเป็นของการrunifให้ 1 เป็นโมฆะความน่าจะเป็นที่1/runifจะให้ 1 ไม่ใช่เพราะความแม่นยำของจุดลอยตัว เช่นโดยทั่วไปแล้ว 1 / 0.9999999 จะได้ผลลัพธ์เป็น 1 ใน R)
plannapus

1
@plannapus อืม ... เป็นจุดที่ดี การลอยทำให้สิ่งนี้ซับซ้อนเกินไป
Mego

4

TI-Basic, 2 ไบต์

rand^-1      (AB 0C in hex)

สำหรับทุกคนที่สงสัยให้randส่งคืนค่าการสุ่มใน (0,1] "เนื่องจากจำนวนเฉพาะของอัลกอริทึมการสร้างเลขสุ่มจำนวนที่เล็กที่สุดที่เป็นไปได้ในการสร้างคือมากกว่า 0 เล็กน้อยที่ใหญ่ที่สุดที่เป็นไปได้คือ 1 ... "( แหล่งที่มา ) ตัวอย่างเช่นการเพาะแรนด์ที่มี 196164532 ให้ผลผลิต 1


น่าแปลกที่รหัสที่เทียบเท่าจะไม่สามารถใช้กับเครื่องคิดเลข TI-89 ได้ แม้ว่าเครื่องกำเนิดเลขสุ่มของพวกเขาจะถูกนำมาใช้เกือบเหมือนกัน แต่ TI-89 จะคืนค่า 0 ทุกครั้งที่ TI-83 + ส่งคืน 0.99999999999889
Misha Lavrov

2
นักพัฒนา TI-Basic รู้ล่วงหน้าว่าความท้าทายนี้จะเกิดขึ้น ... ดูเหมือนว่าจะชนะในครั้งนี้
user202729

@ user202729 การหลีกเลี่ยง 0 และ 1 ทำให้randมีประโยชน์มากขึ้นในฐานะรูทีนย่อยสำหรับคำสั่งอื่น ๆ ของเครื่องคิดเลขซึ่งอาจเป็นเหตุผลที่ TI ตัดสินใจการออกแบบนี้ ตัวอย่างเช่นrandNorm(0,1ส่งคืน-7.02129...ด้วย seed 196164532 การใช้อัลกอริทึม RNG โดยไม่มีการปรับจะให้ค่า1e99ซึ่งเป็นค่าที่ไม่สมเหตุสมผลสำหรับตัวแปรที่กระจายแบบปกติให้มี
Misha Lavrov

@ user202729 ใช่ที่จริงฉันเพิ่งเดินทางไปเล็กน้อยเพื่อให้ได้ทุกอย่าง คุ้มค่าแน่นอนสำหรับการโหวตเหล่านี้
Timtech

4

R , 12 ไบต์

exp(rexp(1))

ลองออนไลน์!

ตรวจสอบการกระจาย

นี้ใช้วิธีการที่แตกต่างกัน, การใช้ประโยชน์จากความจริงที่ว่าถ้าY~exp(alpha)แล้วX=x_m*e^Yเป็น Pareto x_m,alphaกับพารามิเตอร์ เนื่องจากพารามิเตอร์ทั้งคู่เป็น 1 และพารามิเตอร์อัตราเริ่มต้นสำหรับrexpคือ 1 จึงส่งผลให้เกิดการกระจาย Pareto ที่เหมาะสม

ในขณะที่คำตอบนี้เป็นวิธีการที่เฉพาะเจาะจง R- ธรรมก็เศร้าน้อยกว่า golfy plannapus'

R , 14 ไบต์

1/rbeta(1,1,1)

ลองออนไลน์!

แม้ตีกอล์ฟน้อยลง แต่เป็นอีกวิธีในการตอบคำถาม

คุณสมบัติของการกระจายชี้แจงก็คือว่าถ้าX ~ Exp(λ) then e^−X ~ Beta(λ, 1)จึงเป็น1/Beta(1,1)Pareto(1,1)

นอกจากนี้ผู้สังเกตการณ์กระตือรือร้นจะจำได้ว่าถ้าX ~ Beta(a,b)และa=b=1แล้วดังนั้นนี้อย่างแท้จริงคือX~Unif(0,1)1/runif(1)


ฉันไม่รู้. แต่ความจริงก็คือมีความสับสนอย่างมากเกี่ยวกับสิ่งที่ได้รับอนุญาตและสิ่งที่ไม่ได้อยู่ในความท้าทายนี้
user202729

@ user202729 นั้นยุติธรรม แต่ผู้ที่มีข้อกังวลเกี่ยวกับเรื่องนี้อย่างน้อยก็จะมีความคิดเห็นดังนั้น downvote (ในความคิดของฉัน) ไม่น่าจะเกี่ยวข้องกับที่ แก้ไข: ผู้ลงคะแนนลึกลับได้ลบคะแนนโหวต
Giuseppe

ฉัน downvote เพราะฉันคิดว่าการใช้ R กับความท้าทายเช่นนี้เป็นเรื่องเล็กน้อย แต่ฉันก็มีความสุขเล็กน้อย ฉันรู้ว่านี่ใช้วิธีที่แตกต่างจากคำตอบส่วนใหญ่ดังนั้นฉันจึงลบ downvote ของฉัน
KSmarts

@KSmarts คำตอบ "จิ๊บจ๊อย" ในการวิจัยไม่ได้ถูกนำมาใช้โดยใครจริง: actuar::rpareto(1,1,1)เพราะมันเป็นอีกต่อไป :)
plannapus

สำหรับข้อมูลมีแคลิฟอร์เนีย 20 ดิสทริบิวต์ที่กำหนดค่าไว้ในฐาน R แต่ Pareto ไม่ใช่หนึ่งในนั้นดังนั้นจึงจำเป็นต้องใช้วิธีหลีกเลี่ยงหรือแพ็คเกจเพิ่มเติม
plannapus

3

ถ่าน 10 ไบต์

I∕Xφ²⊕‽Xφ²

ลองออนไลน์!

ลิงก์คือเวอร์ชัน verbose:

Print(Cast(Divide(Power(f, 2), ++(Random(Power(f, 2))))));

ความคิดเห็นที่:

  • Charcoal มีวิธีการในการรับตัวเลขจำนวนเต็มแบบสุ่มดังนั้นเพื่อให้ได้ตัวเลขทศนิยมแบบสุ่มระหว่าง 0 ถึง 1 เราจะต้องได้รับจำนวนเต็มแบบสุ่มระหว่าง 0 ถึง N และหารด้วย N
  • รุ่นก่อนหน้าของคำตอบนี้ที่ใช้1/(1-R)สูตร: ในกรณีนี้ N ถูกตั้งค่าเป็น 1000000 ตามที่ OP ขอให้เป็นขั้นต่ำ เพื่อให้ได้ตัวเลขนี้ Charcoal จะมีตัวแปรที่กำหนดไว้ล่วงหน้าf= 1,000 ดังนั้นเพียงแค่การคำนวณf^2ที่เราได้รับ 1000000. ในกรณีที่สุ่มตัวเลข 999999 1/(1-0.999999)=1000000(สูงสุด)
  • เคล็ดลับของนีล (ประหยัด 3 bytes): ถ้าฉันมี1/(1-R/N)ที่Rเป็นตัวเลขสุ่มระหว่าง 0 และ N N/(N-R)ก็เป็นเช่นเดียวกับการคำนวณเพียง แต่เมื่อพิจารณาว่าจำนวนเต็มแบบสุ่มN-RและRมีความน่าจะเป็นแบบเดียวกันเกิดขึ้นนั่นก็เหมือนกับการคำนวณN/R( Rในกรณีนี้คือตัวเลขระหว่าง 1 ถึง N รวมเพื่อหลีกเลี่ยงการหารด้วยศูนย์)


@ Neil โปรดรอสักครู่ในขณะที่ฉันพยายามที่จะเข้าใจว่ารหัสของคุณทำอะไร ... :-)
Charlie

จริงๆแล้วฉันไม่ต้องการMapAssignRightอะไรอีกแล้ว10 ไบต์! โรงงาน
Neil

@ การรวบรวมรหัสของคุณเสร็จสมบูรณ์! แก้ไขคำตอบแล้ว :-D
Charlie

3

Haskell , 61 56 ไบต์

ฟังก์ชั่นrandomIO :: IO Floatสร้างตัวเลขสุ่มในช่วงเวลา [0,1)ดังนั้นการเปลี่ยนพวกเขาโดยใช้x -> 1/(1-x)จะสร้างการรับรู้พาเรโต้

import System.Random
randomIO>>=print.(1/).((1::Float)-)

ลองออนไลน์!


การย้ายคำอธิบายประกอบประเภทจะช่วยประหยัดเวลาสองสามไบต์:randomIO>>=print.((1::Float)/)
Laikoni

main=และในขณะที่ฟังก์ชั่นที่ได้รับอนุญาตผมว่าคุณสามารถวาง
Laikoni

ช่วงนี้เป็น[0,1)ไปตามคำตอบนี้
ข้อผิดพลาด

@ flawr อ๊ะคุณพูดถูก! ฉันลืมวิธีการลอยทำงานชั่วคราว
Mego

ด้วยล่ะค่ะขอบคุณสำหรับการแสดงความคิดเห็นผมจะไม่ได้มีความคิดใด ๆ :)
flawr


3

Mathematica ขนาด 10 ไบต์

1/Random[]

ลองออนไลน์!

-4 ไบต์จาก M.Stern


2
นี้มีศักยภาพที่จะล้มเหลวเพราะเอาท์พุทเป็นจำนวนจริงในช่วงปิดRandomReal [0, 1]ดังนั้นการหารด้วย 0 จึงเป็นไปได้ คุณจะต้องจัดการค่าสุ่มเพื่อลบความเป็นไปได้นั้น
Mego

2
@Mego คุณพบข้อมูลนั้นจากที่ใด?
J42161217

1
@ ความน่าจะเป็นที่จะได้รับ 0 เป็นเท่าใด
J42161217

4
Jenny_mathy: ตามข้อเสนอของ meta the burden of proof should be on the person claiming to have a valid answer- มันเป็นงานของคุณที่จะพิสูจน์ว่าถูกต้องไม่ต้องถาม @Mego เพื่อให้กรณีทดสอบไม่ถูกต้อง เพราะโฟลนั้นไม่ต่อเนื่องความน่าจะเป็นที่จะได้ 0 เป็นศูนย์
user202729

1
กลับไปที่หัวข้อฉันไม่เชื่อว่ามีความเป็นไปได้ที่จะได้ศูนย์โดยใช้ฟังก์ชั่นนี้ Mathematica $MinMachineNumberจะอยู่ในความเป็นจริงตัวเลขการผลิตน้อยกว่า Table[RandomReal[{0, $MinMachineNumber}], 100]ลองนี้: ปรากฎว่า Mathematica ฉลาดพอที่จะละทิ้งหมายเลขเครื่องและสลับไปยังหมายเลขที่มีความแม่นยำตามอำเภอใจ ฮ่า ๆ.
Kelly Lowder

2

Ruby, 14 8 ไบต์

p 1/rand

โปรแกรมเรื่องเล็กน้อยฉันไม่คิดว่ามันจะสั้นลงไปกว่านี้


หมายเหตุสำหรับทุกคน: issacg ได้เพิ่มกฎบางอย่างที่อนุญาตให้มีข้อ จำกัด บางประการดังนั้นคำตอบส่วนใหญ่ที่นี่จึงยาวเกินความจำเป็น
user202729

2

Excel VBA ขนาด 6 ไบต์

ฟังก์ชันหน้าต่างแบบไม่ระบุชื่อ VBE แบบทันทีที่ไม่รับอินพุตและเอาต์พุตไปยังหน้าต่างทันที VBE

?1/Rnd

1

Pythonขนาด 41 ไบต์

lambda:1/(1-random())
from random import*

ลองออนไลน์!


การใช้ builtin นั้นใช้งานได้นานขึ้น

Pythonขนาด 43 ไบต์

lambda:paretovariate(1)
from random import*

ลองออนไลน์!

โซลูชันทั้งสองทำงานได้ทั้ง Python 2 และ Python 3


1
โปรแกรมเต็มรูปแบบจะสั้นลงสำหรับงานที่ไม่ได้ใช้อินพุตโดยใช้printบันทึกเป็นไบต์
Erik the Outgolfer

1

J , 5 ไบต์

%-.?0

ot ทำงานอย่างไร:

?0 สร้างค่าสุ่มที่มากกว่า 0 และน้อยกว่า 1

-. ลบออกจาก 1

% ซึ่งกันและกัน

ลองออนไลน์!


หมายเหตุสำหรับทุกคน: issacg ได้เพิ่มกฎบางอย่างที่อนุญาตให้มีข้อ จำกัด บางประการดังนั้นคำตอบส่วนใหญ่ที่นี่จึงยาวเกินความจำเป็น
user202729

1

สีแดง 19 ไบต์

1 /(1 - random 1.0)

ลองออนไลน์!


หมายเหตุสำหรับทุกคน: issacg ได้เพิ่มกฎบางอย่างที่อนุญาตให้มีข้อ จำกัด บางประการดังนั้นคำตอบส่วนใหญ่ที่นี่จึงยาวเกินความจำเป็น
user202729

1

APL (Dyalog) 5 ไบต์

÷1-?0

ลองออนไลน์!

อย่างไร?

 ÷   1-     ?0
1÷  (1-  random 0..1)

หมายเหตุสำหรับทุกคน: issacg ได้เพิ่มกฎบางอย่างที่อนุญาตให้มีข้อ จำกัด บางประการดังนั้นคำตอบส่วนใหญ่ที่นี่จึงยาวเกินความจำเป็น
user202729

1

Japtap , 6 ไบต์

1/1-Mr มีความยาวเท่ากัน แต่นี่น่าเบื่อน้อยลง!

°T/aMr

ลองมัน


คำอธิบาย

เพิ่ม ( °) ศูนย์ ( T) และหารด้วย ( /) ความแตกต่างแน่นอน ( a) Math.random()ด้วย


หมายเหตุสำหรับทุกคน: issacg ได้เพิ่มกฎบางอย่างที่อนุญาตให้มีข้อ จำกัด บางประการดังนั้นคำตอบส่วนใหญ่ที่นี่จึงยาวเกินความจำเป็น
user202729

1

เยลลี่ 5 ไบต์

วุ้นยังไม่ได้ลอยสุ่มเพื่อให้การใช้งานนี้x/nที่xเป็นจำนวนเต็มสุ่มอยู่ในช่วง[1, n](รวม) (0, 1]ที่จะเลียนแบบลอยแบบสุ่มในช่วง ในโปรแกรมนี้จะกำหนดn108

ȷ8µ÷X

ลองออนไลน์!

คำอธิบาย

ȷ8     Literal 10^8.
  µ    New monad.
   ÷   Divide by
    X  random integer.

รายการ , 3 ไบต์

ØXİ

ลองออนไลน์!

เข้าร่วมเต้น Jelly! (TI-Basic ยังไม่ได้)

คำอธิบาย

  İ    The inverse of...
ØX     a random float in [0, 1)

ของหลักสูตรนี้มีความน่าจะเป็นที่ไม่ใช่ศูนย์ของการใช้อินเวอร์สของ 0


โซลูชัน Enlist จะไม่ล้มเหลวหากØXส่งคืน0หรือไม่ (ข้อจำกัดความรับผิดชอบ: ฉันไม่รู้จักผู้สมัครเลย!)
Shaggy

@Shaggy your program must output a number greater than or equal to 1 with at least probability 0.999. The rest of the time it may crash(จากกฎการท้าทาย)
user202729

1

สูตร IBM / Lotus Notes ขนาด 13 ไบต์

1/(1-@Random)

ตัวอย่าง (วิ่ง 10 ครั้ง)

ป้อนคำอธิบายรูปภาพที่นี่


หมายเหตุสำหรับทุกคน: issacg ได้เพิ่มกฎบางอย่างที่อนุญาตให้มีข้อ จำกัด บางประการดังนั้นคำตอบส่วนใหญ่ที่นี่จึงยาวเกินความจำเป็น
user202729

ไม่แน่ใจว่าฉันจะทำสิ่งนี้ให้สั้นลงได้มากขึ้นไม่ว่าการเปลี่ยนแปลงกฎจะเกิดขึ้น :)
ElPedro


1

REPL JavaScript, 15 19ไบต์

1/Math.random()

3
สิ่งนี้จะไม่ให้ผลลัพธ์ที่ถูกต้องหากMath.random() ส่งคืน 0
Mr. Xcoder

1
อาจเป็นไปได้1/(1-Math.random())?
user202729

แก้ไขโดยใช้โซลูชันของ u * 29
l4m2

คุณต้อง_=>เริ่มฟังก์ชั่นนี้ก่อน ไม่อนุญาตตัวอย่างข้อมูล
Shaggy

เป็นโปรแกรมเต็มรูปแบบที่ใช้การเรียกใช้คอนโซล
l4m2


0

J, 9 ไบต์

p=:%@?@0:

ฉันไม่สามารถหาวิธีทำให้ไม่มีการป้อนข้อมูลได้เนื่องจาก p =:%? 0 จะประเมินทันทีและคงที่ ด้วยเหตุนี้มันจึงยาว

มันทำงานอย่างไร:

p=:        | Define the verb p
       0:  | Constant function. Returns 0 regardless of input.
     ?@    | When applied to 0, returns a random float in the range (0,1)
   %@      | Reciprocal

ประเมิน 20 ครั้ง:

    p"0 i.20
1.27056 1.86233 1.05387 16.8991 5.77882 3.42535 12.8681 17.4852 2.09133 1.82233 2.28139 1.58133 1.79701 1.09794 1.18695 1.07028 3.38721 2.88339 2.06632 2.0793

0

Pyth , 4 ไบต์

c1O0

ลองที่นี่!

ทางเลือก: c1h_O0.


c1tOZคือ 5 มันใช้งานไม่ได้?
เดฟ

@Dave ไม่ทำงานที่ส่งคืนค่าลบ ฉัน1-nไม่ต้องการn-1
Mr. Xcoder

Pyth ไม่มีค่าคงที่100หรือไม่?
Shaggy

@Shaggy ฉันหวังว่ามันจะทำ น่าเสียดายที่ไม่มีค่าคงที่สำหรับ100AFAIK
Mr. Xcoder

0

ทำความสะอาด , 91 ไบต์

import StdEnv,Math.Random,System.Time
Start w=1.0/(1.0-hd(genRandReal(toInt(fst(time w)))))

ล้างไม่ชอบตัวเลขสุ่ม

เนื่องจากตัวสร้างแบบสุ่ม (Mersenne Twister) จำเป็นต้องได้รับเมล็ดพันธุ์ฉันจึงต้องใช้ระบบบันทึกเวลาเพื่อให้ได้สิ่งที่แตกต่างกันอย่างอดทนต่อการเรียกใช้และเพื่อทำทุกอย่างที่เกี่ยวข้องกับ IO ฉันต้องใช้การStartประกาศทั้งหมดเพราะ Worldเพียงวางที่จะได้รับ

ลองออนไลน์!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.