เป้าหมายของคุณคือการเขียนโปรแกรมที่พิมพ์ตัวเลข ยิ่งจำนวนมากเท่าไหร่คุณก็ยิ่งได้คะแนนมากขึ้นเท่านั้น แต่ระวังด้วย! ความยาวของรหัสนั้นมี จำกัด และหนักมากในฟังก์ชั่นการให้คะแนน จำนวนพิมพ์ของคุณจะถูกหารด้วยสามของจำนวนไบต์ที่คุณใช้สำหรับการแก้ปัญหาของคุณ
สมมติว่าคุณพิมพ์10000000
และรหัสของคุณมีความ100
ยาวไบต์ 10000000 / 100^3 = 10
คะแนนสุดท้ายของคุณจะ
มีกฎอื่น ๆ ที่ต้องปฏิบัติตามเพื่อให้ความท้าทายนี้ยากขึ้นเล็กน้อย
- คุณไม่สามารถใช้ตัวเลขในรหัสของคุณ (0123456789);
- คุณสามารถใช้คณิตศาสตร์ / กายภาพ / ฯลฯ ค่าคงที่แต่ถ้าพวกมันน้อยกว่า 10 (เช่นคุณสามารถใช้Pi ~ = 3.14 แต่คุณไม่สามารถใช้ค่าคงที่ Avogadro = 6e23)
- อนุญาตให้เรียกซ้ำได้แต่จำนวนที่สร้างต้องมีจำนวน จำกัด (ดังนั้นอนันต์จึงไม่ได้รับการยอมรับว่าเป็นวิธีแก้ปัญหาโปรแกรมของคุณจำเป็นต้องยุติอย่างถูกต้องโดยสมมติเวลาและหน่วยความจำไม่ จำกัด และสร้างผลลัพธ์ที่ร้องขอ);
- คุณไม่สามารถใช้การดำเนินการ
*
(ทวีคูณ),/
(หาร),^
(กำลัง) หรือวิธีอื่นใดในการบ่งชี้พวกเขา (เช่น2 div 2
ไม่ได้รับอนุญาต); - โปรแกรมของคุณสามารถส่งออกจำนวนมากกว่าหนึ่งถ้าคุณต้องการที่จะทำ เฉพาะคะแนนสูงสุดเท่านั้นที่จะนับเพื่อให้คะแนน
- อย่างไรก็ตามคุณสามารถเชื่อมสตริงได้: หมายความว่าลำดับใด ๆ ของตัวเลขที่อยู่ติดกันจะถูกพิจารณาเป็นตัวเลขเดียว
- รหัสของคุณจะถูกเรียกใช้ตามสภาพ ซึ่งหมายความว่าผู้ใช้ปลายทางไม่สามารถแก้ไขบรรทัดของรหัสใด ๆ และไม่สามารถป้อนหมายเลขหรือสิ่งอื่นใด
- ความยาวรหัสสูงสุดคือ 100 ไบต์
ลีดเดอร์บอร์ด
- Steven H. , Pyth ≈ f φ (1,0,0) +7 (256 26 ) / 1000000 [1]
- ซิมเพิลอาร์ทสวย , ทับทิม ≈ f φ 121 (ω) (126) [1]
- Peter Taylor , GolfScript Golf f ε 0 + ω + 1 (17) / 1000 [1]
- res , GolfScript ≈ f ε 0 (f ε 0 (f ε 0 (f ε 0 (f ε 0 (f ε 0 (f ε 0 (f ε 0 (f ε 0 (126))))))) [1]
- เพียงแค่ศิลปะที่สวยงามทับทิม ≈ฉโอห์มω2 1 (1983)
- eaglgenes101 , Julia ≈ f ω3 (127)
- col6y , Python 3, ≈ (127 → 126 → ... → 2 → 1) / 99 3 [1] [3]
- Toeofdoom , Haskell, ≈ a 20 (1) / 99 3 [1]
- Fraxtil , dc, ≈ 15 ↑¹⁶⁶⁶⁶⁶⁵ 15/100 3 [3]
- Magenta , Python, ≈ ack (126,126) / 100 3 ≈ 10 ↑ 124 129
- เคนดอลเฟรย์ , ECMAScript 6 ≈ 10 3 ↑ 4 3 /100 3 [1]
- Ilmari Karonen , GolfScript, ≈ 10 ↑ 3 10 377 /18 3 [1]
- BlackCap , Haskell, ≈ 10 ↑↑ 65503/100 3
- ซ้ำ , Python, ≈ 2 ↑↑ 11/95 3 ≈ 10 ↑↑ 8.63297 [1] [3]
- นาโนเมตร , Haskell, ≈ 2 ↑↑ 7/100 3 ≈ 10 ↑↑ 4.63297 [1]
- เดวิด Yaw , C, ≈ 10 10 4 × 10 22 /83 3 ≈ 10 ↑↑ 4.11821 [2]
- พรีโม่ , Perl, ≈ 10 (12750684161!) 5 × 2 27 /100 3 ≈ 10 ↑↑ 4.11369
- ศิลปะ , C, ≈ 10 10 2 × 10 6 /98 3 ≈ 10 ↑↑ 3.80587
- Robert Sørlie , x86, ≈ 10 2 2 19 +32 / 100 3 ≈ 10 ↑↑ 3.71585
- Tobia , APL, ≈ 10 10 353 /100 3 ≈ 10 ↑↑ 3.40616
- Darren Stone , C, C 10 10 97.61735 / 98 3 ≈ 10 ↑↑ 3.29875
- ecksemmess , C, ≈ 10 2 320 /100 3 ≈ 10 ↑↑ 3.29749
- อดัม Speight , vb.net, ≈ 10 5000 × (2 64 ) 4 /100 3 ≈ 10 ↑↑ 3.28039
- โจชัว , ทุบตี ≈ 10 10 15 /86 3 ≈ 10 ↑↑ 3.07282
เชิงอรรถ
- หากอิเล็กตรอนทุกตัวในเอกภพมีค่าบิตและทุก ๆ การซ้อนทับของมันนั้นสามารถนำไปใช้เป็นประโยชน์ในการเก็บข้อมูล (ซึ่งตราบใดที่คุณไม่จำเป็นต้องรู้ว่าสิ่งที่ถูกเก็บไว้นั้นเป็นไปได้ในทางทฤษฎี) โปรแกรมนี้ต้องการหน่วยความจำมากกว่า อาจมีอยู่และดังนั้นจึงไม่สามารถเรียกใช้ - ตอนนี้หรือ ณ จุดที่มองเห็นได้ในอนาคต หากผู้แต่งตั้งใจจะพิมพ์ค่าที่มากกว่า≈3↑↑ 3.28 ทั้งหมดในครั้งเดียวเงื่อนไขนี้จะใช้
- โปรแกรมนี้ต้องการหน่วยความจำมากกว่าที่มีอยู่ในปัจจุบัน แต่ไม่มากจนไม่สามารถเก็บไว้ในทางทฤษฎีในจำนวนที่น้อยของ qubits ดังนั้นวันหนึ่งคอมพิวเตอร์อาจมีอยู่ซึ่งสามารถเรียกใช้โปรแกรมนี้ได้
- ล่ามทั้งหมดที่มีอยู่ในปัจจุบันมีปัญหาข้อผิดพลาดรันไทม์หรือโปรแกรมไม่สามารถดำเนินการตามที่ผู้เขียนต้องการ
- การรันโปรแกรมนี้จะทำให้ระบบของคุณเสียหายอย่างไม่สามารถแก้ไขได้
แก้ไข @primo : ฉันได้อัปเดตส่วนหนึ่งของกระดานคะแนนโดยใช้หวังว่าจะเปรียบเทียบสัญกรณ์ได้ง่ายขึ้นโดยใช้ทศนิยมเพื่อแสดงระยะทางลอการิทึมเป็นพลังงานที่สูงขึ้นต่อไป ยกตัวอย่างเช่น 10 ↑↑ 2.5 = 10 10 √10 ฉันได้เปลี่ยนคะแนนบางส่วนถ้าฉันเชื่อว่าการวิเคราะห์ของผู้ใช้เป็นความผิดพลาดคุณสามารถโต้แย้งสิ่งเหล่านี้ได้
คำอธิบายของเอกสารนี้:
หากแล้ว0 ≤ b < 1
a↑↑b = ab
หากแล้วb ≥ 1
a↑↑b = aa↑↑(b-1)
หากแล้วb < 0
a↑↑b = loga(a↑↑(b+1))
12e10
(12 * 10 ^ 10) เป็น12*10^10
?
500b
สิ่งนี้ไม่ถูกต้องหรือไม่? นั่นคือเราอาจเพิกเฉยต่อสิ่งที่ไม่ใช่ตัวเลขทั้งหมดที่โปรแกรมพิมพ์หรือไม่ และถ้าเป็นเช่นนั้นสิ่งที่ต้องการ50r7
นับเป็น507
?