จำนวนมากที่สุดในสิบไบต์ของรหัส


77

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

  • คุณสามารถใช้คุณสมบัติใด ๆ ของภาษาของคุณยกเว้นฟังก์ชั่นการยกกำลังในตัว
    • ในทำนองเดียวกันคุณไม่สามารถใช้สัญลักษณ์ทางวิทยาศาสตร์เพื่อป้อนตัวเลขได้ (เช่นนั้นไม่มี9e+99)
  • โปรแกรมจะต้องพิมพ์หมายเลขโดยไม่ต้องป้อนข้อมูลใด ๆ จากผู้ใช้ ในทำนองเดียวกันไม่มีการอ่านจากไฟล์อื่น ๆ หรือจากเว็บและอื่น ๆ
  • โปรแกรมของคุณจะต้องคำนวณหมายเลขเดียวและพิมพ์ คุณไม่สามารถพิมพ์สตริงและไม่สามารถพิมพ์ตัวเลขหลักพันเท่ากันได้
  • คุณสามารถยกเว้นรหัสได้ไม่เกิน 10 ตัวที่จำเป็นสำหรับการพิมพ์อะไรก็ได้ ตัวอย่างเช่นใน Python 2 ซึ่งใช้print xไวยากรณ์คุณสามารถใช้อักขระได้สูงสุด 16 ตัวสำหรับโปรแกรมของคุณ
  • โปรแกรมต้องประสบความสำเร็จในผลลัพธ์จริง ๆ หากใช้เวลานานกว่าหนึ่งชั่วโมงในการทำงานบนคอมพิวเตอร์ที่เร็วที่สุดในโลกมันไม่ถูกต้อง
  • การส่งออกอาจจะอยู่ในรูปแบบใด ๆ (เพื่อให้คุณสามารถพิมพ์999, 5e+100ฯลฯ )
  • อินฟินิตี้เป็นแนวคิดที่เป็นนามธรรมไม่ใช่ตัวเลข ดังนั้นจึงไม่ใช่เอาต์พุตที่ถูกต้อง

4
คุณดูสองสิ่งนี้หรือไม่? codegolf.stackexchange.com/questions/185/... codegolf.stackexchange.com/questions/18028/...
MadTux

21
คุณหมายถึงอะไรโดย "คำนวณ" ยังIf it takes longer than an hour to run on any computer in the world, it's invalid.ไม่ได้มีวัตถุประสงค์ ฉันสามารถ (ทฤษฎี) ผลิตคอมพิวเตอร์ที่ใช้เวลาชั่วโมงเพื่อเปลี่ยนหนึ่ง T-รัฐ
user80551

4
การเปลี่ยนแปลงบิตนับเป็นโอเปอเรเตอร์การยกกำลังเนื่องจากมันเทียบเท่า* 2^xหรือไม่
Claudiu

14
ความจริงที่ว่าเวลาจะขึ้นอยู่กับประสิทธิภาพของคอมพิวเตอร์ที่เร็วที่สุดในโลกทำให้เราไม่สามารถกำหนดชุดคำตอบที่ถูกต้องได้ ... ฉันไม่ชอบมันจริงๆ
David Z

6
ไม่อนุญาตให้ใช้ฟังก์ชันการยกกำลัง แต่อนุญาตให้ใช้ฟังก์ชัน ackermann ได้? ที่ดูเหมือนว่าโดยพลการจริงๆ มันยังไม่ชัดเจนว่าทำไมการจัดการเชิงสัญลักษณ์ถือเป็นการ "คำนวณ" จำนวน
WolframH

คำตอบ:


26

ภาษา Wolfram

ack(9!,9!)

ack (9!, 9!) =ป้อนคำอธิบายรูปภาพที่นี่

เอาต์พุตอยู่ในเครื่องหมายลูกศร


3
@KyleKanos มันแตกต่างกันเพราะรหัส / โปรแกรมไม่ได้โทรออกไปยังเว็บ ตัวอย่างอื่น ๆtypescriptlang.org/Playground tryfsharp.org/Learn/getting-started
Adam Speight

35
ภาษา Wolfram พร้อมใช้งานสำหรับ Raspberry Pi และไม่ต้องการการเข้าถึงเว็บ ดังนั้นจึงไม่เป็นการละเมิดกฎนั้น
Adam Speight

6
ฉันคิดว่ามันเป็นคำตอบที่ถูกต้องมาก เหตุผลโง่ ๆ ที่อยู่บนเกาะและไม่สามารถเข้าถึงอินเทอร์เน็ตได้ ข้อกำหนด 'ไม่มีเว็บ' เป็นเพียงเพื่อป้องกันไม่ให้พิมพ์ออกมาจากทรัพยากรที่มีอยู่แล้ว คำตอบทั้งหมดถูกต้องตราบเท่าที่พวกเขาเรียกใช้ชิ้นส่วนของรหัสเพื่อคำนวณผลลัพธ์ Visual Studio รุ่นล่าสุดกำลังรันโค้ดของคุณบนคลาวด์ Azure ดังนั้นคุณต้องการ จำกัด C # หรือไม่ หรือคุณไม่มีสิทธิ์ถ้าคุณมี Chromebook
microbian

26
ack(99!,9)มีขนาดใหญ่กว่ามาก
jimmy23013

11
หนึ่งในคำตอบอื่น ๆ บอกว่าแอ๊กชั่น (4,2) เป็นที่ใหญ่ที่สุดที่เขาสามารถคำนวณในชั่วโมงดังนั้นฉันจะต้องแปลกใจถ้านี้ไม่ ...
เจอร์รี่เยเรมีย์

120

Perl,> 1.96835797883262e + 18

time*time

อาจไม่ใช่คำตอบที่ใหญ่ที่สุด ... วันนี้! แต่รอเป็นพันปีที่เพียงพอและมันจะเป็น!


แก้ไข:

ในการพูดถึงความคิดเห็นบางส่วนโดย "millenia เพียงพอ" ในความเป็นจริงฉันหมายถึงns 100ปี

หากว่าการแช่แข็ง / การเสียความร้อนครั้งใหญ่ของเอกภพเป็นวิธีการที่เอกภพจะสิ้นสุดลง (ประมาณว่าจะเกิดขึ้นประมาณ 10 100ปี) ค่า "สุดท้าย" จะเป็น 10 ~ 214ซึ่งน้อยกว่าบางส่วน คำตอบอื่น ๆ (แม้ว่า "ความผันผวนของควอนตัมแบบสุ่มหรือการขุดอุโมงค์ควอนตัมสามารถสร้างบิ๊กแบงอีก 10 10 56ปี") ถ้าเราใช้วิธีการมองโลกในแง่ดีมากขึ้น (เช่นแบบจำลองวงจรหรือแบบลิขสิทธิ์) เวลาจะดำเนินต่อไปอย่างไม่ จำกัด ดังนั้นวันหนึ่งในจักรวาลบางแห่งในสถาปัตยกรรมระดับสูงบางคำตอบอาจจะเกินคำตอบของคนอื่น

ในทางตรงกันข้ามตามที่ระบุtimeจริง ๆ แล้วถูก จำกัด ด้วยขนาดของจำนวนเต็ม / ยาวดังนั้นในความเป็นจริงบางสิ่งบางอย่างเช่น~0มักจะสร้างจำนวนมากขึ้นกว่าtime(เช่นสูงสุดที่timeได้รับการสนับสนุนโดยสถาปัตยกรรม)

นี่ไม่ใช่คำตอบที่จริงจังที่สุด แต่ฉันหวังว่าพวกคุณจะสนุกไปกับมัน!


23
โหวตขึ้นเพราะฉันชอบเหตุการณ์ที่ไม่คาดคิด
ทิม

5
จะไม่timeพันและส่งคืนจำนวนเล็กน้อยในบางจุดหรือไม่ ขึ้นอยู่กับว่ามันเป็น perl แบบ 32 บิตหรือ 64 บิตฉันเดาว่า
Claudiu

3
1,000 ปี ~ 3e10 วินาทีดังนั้นคุณจะยังคงลอยอยู่ประมาณ 1e21 เป็นเอาต์พุตของคุณ บางทีถ้าคุณรอ 1e50 ปีคุณอาจเริ่มแข่งขันกับคำตอบอื่น ๆ ได้ไหม
Kyle Kanos

8
คุณออกเสียงคำว่า "เวลาคูณเวลา" หรือไม่? :-) (สวัสดี Timwi!)
Pierre Arlaud

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

65

วุลแฟรม≅ 2.003529930 × 10 19728

ใช่มันเป็นภาษา! มันขับเคลื่อนส่วนหลังของเว็บไซต์ Wolfram Alpha ยอดนิยม มันเป็นภาษาเดียวที่ฉันพบว่ามีฟังก์ชันในตัวของ Ackermann และมีตัวย่อน้อยกว่า 6 ตัวอักษร

ในแปดตัวอักษร:

$ ack(4,2)

200352993...719156733

หรือ≅ 2.003529930 × 10 19728

ack(4,3), ack(5,2)ฯลฯ มีขนาดใหญ่มาก แต่มีขนาดใหญ่เกินไป ack(4,2)น่าจะเป็นจำนวน Ackermann ที่ใหญ่ที่สุดกว่าที่สามารถคำนวณได้อย่างสมบูรณ์ในภายใต้ชั่วโมง

ตัวเลขขนาดใหญ่จะแสดงผลในรูปแบบสัญลักษณ์เช่น:

$ ack(4,3)

2↑²6 - 3 // using Knuth's up-arrow notation

กฎบอกว่าอนุญาตรูปแบบเอาต์พุตใด ๆ ดังนั้นสิ่งนี้อาจใช้ได้ นี่คือมากกว่า 10 10 19727ซึ่งใหญ่กว่ารายการอื่น ๆ ที่นี่ยกเว้นสำหรับแฟกทอเรียลซ้ำ

อย่างไรก็ตาม

$ ack(9,9)

2↑⁷12 - 3

มีขนาดใหญ่กว่าแฟกทอเรียลที่ทำซ้ำ จำนวนที่มากที่สุดที่ฉันจะได้รับในสิบตัวละครคือ:

$ ack(99,99)

2↑⁹⁷102 - 3

นี่เป็นเรื่องใหญ่อย่างบ้าคลั่งจักรวาลไม่ใหญ่พอที่จะแสดงตัวเลขหลักของมันแม้ว่าคุณจะเอาบันทึกซ้ำ ๆ


85
ไม่เลว แต่ไม่ตรงกับack(4,2)+1โซลูชันของฉัน
user19057

13
ack (4,2) +2, ฉันชนะ

1
ฉันคิดว่าคุณชนะ
ไม่ระบุชื่อ Pi

20
@Kyle, Yimin มีคำสั่งที่ทำให้เข้าใจผิดจำนวนมากในโพสต์นี้และความคิดเห็นที่อยู่ภายใต้ นี่ไม่ใช่ภาษา Wolfram และไม่ใช่สิ่งที่ใช้เป็นแบ็กเอนด์ของ W | A มันเป็นเพียงการป้อนข้อมูล "ภาษาธรรมชาติ" เพื่อ Wolfram | Alpha ในภาษา Wolfram ack(4,2)ไม่ถูกต้อง W | A การป้อนข้อมูลภาษาธรรมชาติไม่ควรนับรวมเป็นภาษาโปรแกรม มันไม่ได้เป็นทัวริงที่สมบูรณ์และคุณไม่สามารถเขียนแม้แต่โปรแกรมพื้นฐานในนั้นเช่นอัลกอริทึมของ Euclid ด้วยเหตุนี้ฉันไม่คิดว่านี่เป็นคำตอบที่ถูกต้องมากกว่าคำค้นหาของ Google
Szabolcs

4
วุลแฟรมภาษาเป็นภาษาโปรแกรมที่ใช้ในการ Mathematica เอกสารที่นี่ Wolfram | Alpha ใช้ภาษาธรรมชาติเป็นภาษาป้อนไม่ใช่ภาษา Wolfram
Szabolcs

30

Python2 shell, 3,010,301 ดิจิต

9<<9999999

การคำนวณความยาว: Python จะต่อท้าย "L" กับตัวเลขที่ยาวเหล่านี้ดังนั้นมันจึงรายงาน 1 ตัวอักษรมากกว่าผลที่ได้คือตัวเลข

>>> len(repr( 9<<9999999 ))
3010302

ตัวเลข 20 หลักแรกและสุดท้าย:

40724177878623601356... ...96980669011241992192

2
สาปมัน! สิ่งนี้ปรากฏตัวขึ้นในขณะที่ฉันกำลังเขียนคำตอบเดียวกัน
James_pic

2
นั่นเป็นเพียงจริง ๆ9 * 2**9999999ดังนั้นเราสามารถโต้แย้งได้ว่าใช้การยกกำลัง
Dennis

2
รอ***built-in*** exponentiation functionsไม่ได้รับอนุญาตดังนั้นสิ่งนี้อาจลื่นภายใต้กฎ +1
80551

1
วิธีคำนวณทางคณิตศาสตร์ของความยาว:floor(log10(9 * 2**9999999))+1
Justin

8
9 << (9 << 99) ยิ่งใหญ่กว่านี้ถ้ามันยุติ
Keith Randall

29

CJam, 2 × 10 268,435,457

A28{_*}*K*

สิ่งนี้คำนวณbนิยามดังนี้:

  • a 0 = 10

  • a n = a n - 1 2

  • b = 20 × a 28

$ time cjam <(echo 'A28{_*}*K*') | wc -c
Real    2573.28
User    2638.07
Sys     9.46
268435458

พื้นหลัง

สิ่งนี้เป็นไปตามแนวคิดเดียวกันกับคำตอบของ Claudiuแต่มันไม่ได้ขึ้นอยู่กับมัน ฉันมีความคิดที่คล้ายกันซึ่งฉันโพสต์เพียงไม่กี่นาทีหลังจากที่เขาโพสต์เขาแต่ฉันทิ้งเพราะมันไม่ได้มาที่ใดก็ได้ใกล้เวลาที่กำหนด

อย่างไรก็ตามข้อเสนอแนะของ aditsu ในการอัพเกรดเป็น Java 8 และความคิดของฉันในการใช้พาวเวอร์ 10 อนุญาตให้ CJam คำนวณตัวเลขที่เกินขอบเขตของ GolfScript ซึ่งดูเหมือนว่าจะเกิดจากข้อผิดพลาด / ข้อ จำกัด บางอย่างของ Ruby Bignum

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

A    " Push 10.                                                          ";
28{  " Do the following 28 times:                                        ";
  _* " Duplicate the integer on the stack and multiply it with its copy. ";
}*   "                                                                   ";
K*   " Multiply the result by 20.                                        ";

CJam, ≈ 8.1 × 10 1,826,751

KK,{)*_*}/

ใช้เวลาน้อยกว่าห้านาทีบนเครื่องของฉันดังนั้นยังมีพื้นที่สำหรับการปรับปรุง

สิ่งนี้คำนวณ20ซึ่งกำหนดดังนี้:

  • 0 = 20

  • a n = (n × a n - 1 ) 2

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

KK,   " Push 20 [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ]. ";
{     " For each integer in the array:                                 ";
  )*  " Increment it and compute the its product with the accumulator. ";
  _*  " Multiply the result with itself.                               ";
}/

21
ฮ่าฮ่าเคอร์บีนั่นคืออะไร? :)
aditsu

คุณช่วยอธิบายสิ่งนี้ได้ไหม
Kyle Kanos

2
FYI ฉันวิ่งทดสอบเพื่อตรวจสอบประสิทธิภาพ BigInteger - ฉันคำนวณ 100000! และแปลงเป็นสตริง ผลลัพธ์: การคำนวณ java 6: 21 วินาที, 44 วินาที toString; การคำนวณ Java 7: 14 วินาที, 42 วินาทีสู่สตริง; java 8: การคำนวณ 5 วินาที, 1 วินาทีสู่สาย!
aditsu

1
@aditsu: การอัพเกรด Java ลดรันไทม์จาก 5 นาทีเป็น 2 วินาที!
Dennis

20

Python 3, 9 * 2 ^ (7 * 2 ^ 33)> 10 ^ 18,100,795,813

9 * 2 ^ (2 ^ 35)> 10 ^ 10,343,311,894

แก้ไข: คำตอบใหม่ของฉันคือ:

9<<(7<<33)

คำตอบเก่าสำหรับลูกหลาน:

9<<(1<<35)

สิบตัวอักษรอย่างแน่นอน

ฉันกำลังพิมพ์ตัวเลขเป็นฐานสิบหกและ

คุณสามารถยกเว้นรหัสได้ไม่เกิน 10 ตัวที่จำเป็นสำหรับการพิมพ์อะไรก็ได้ ตัวอย่างเช่นใน Python 2 ซึ่งใช้ไวยากรณ์ print x คุณสามารถใช้อักขระได้สูงสุด 16 ตัวสำหรับโปรแกรมของคุณ

ดังนั้นรหัสจริงของฉันคือ:

print(hex(9<<(7<<33)))

พิสูจน์ว่ามันทำงานในเวลาที่กำหนดและสร้างจำนวนขนาดที่ระบุ:

time python bignum.py > bignumoutput.py

real    10m6.606s
user    1m19.183s
sys    0m59.171s
wc -c bignumoutput.py 
15032385541 bignumoutput.py

หมายเลขของฉัน> 10 ^ (15032385538 * บันทึก (16))> 10 ^ 18100795813

3 เลขฐานสิบหกน้อยกว่างานพิมพ์ wc 0x9ข้างต้นเพราะการเริ่มต้น

Python 3 เป็นสิ่งจำเป็นเพราะใน python 2 7<<33จะยาวและ<<ไม่ใช้เวลานานเหมือนอินพุต

ฉันไม่สามารถใช้ 9 << (1 << 36) แทนเพราะ:

Traceback (most recent call last):
  File "bignum.py", line 1, in <module>
    print(hex(9<<(1<<36)))
MemoryError

ดังนั้นนี่เป็นจำนวนที่มากที่สุดของแบบฟอร์มที่a<<(b<<cd)พิมพ์บนคอมพิวเตอร์ของฉัน

ในทุกโอกาสเครื่องที่เร็วที่สุดในโลกมีหน่วยความจำมากกว่าที่ฉันทำดังนั้นคำตอบสำรองของฉันคือ:

9<<(9<<99)

9 * 2 ^ (9 * 2 ^ 99)> 10 ^ (1.7172038461 * 10 ^ 30)

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


จนถึงตอนนี้ดูเหมือนว่าจะเป็นคำตอบที่ใหญ่ที่สุดโดยไกล มันคือตัวเลข 10,000,000,000 หลักหลังจากทั้งหมด
nneonneo

1
@nneonneo: ผมเชื่อว่าวิธีการแก้ปัญหาของฉันมีขนาดใหญ่ :)
Zaid

คำตอบของคุณต้องสลับjuuuuustน้อยกว่า 1 MiYiB ของหน่วยความจำและต้อง 100 บิตของหน่วยความจำแอดเดรส (ดังนั้นจึงจะไม่ทำงานจนกว่างูใหญ่อย่างน้อย 128 บิต) (ที่มา: คำตอบที่คล้ายกันของฉัน )
wizzwizz4

19

ภาษาใด ๆ ที่มีชื่อคงที่สั้นพอเพียงประมาณ 18 หลัก

99/sin(PI)

ฉันจะโพสต์สิ่งนี้เป็นคำตอบ PHP แต่น่าเศร้าที่M_PIทำให้มันยาวเกินไป! แต่ PHP ให้ผลลัพธ์ 8.0839634798317E + 17 สำหรับสิ่งนี้ โดยพื้นฐานแล้วจะเป็นการละเมิดการขาดความแม่นยำที่แน่นอนใน PI: p


1
คุณไม่สามารถทำผิวสีแทน (PI / 2) ได้ไหม
user80551

1
@ user80551 ทำได้ แต่ฉันเพิ่งสังเกตเห็นว่าฉันสามารถใช้ประโยชน์จากตัวละครสุดท้ายที่เหลืออยู่ในขีด จำกัด เพื่อเพิ่มผลลัพธ์ของฉันได้ 99 ครั้ง
Niet the Dark Absolute

Common LISP ยาวเกินไป: (/ 99(sin pi))(14 ตัวอักษร) ข้อผิดพลาดใน TI-83: 99/sin(π(8 ตัวอักษร) ทำให้เกิดการหารด้วยศูนย์ โยธาธิการในLibreOffice Calc : =99/SIN(PI((10 ตัวอักษรไม่นับ=) คำนวณ 808423047055000000. LibreOffice อัตโนมัติแทรกสองคนสุดท้ายใน)) =99/SIN(PI())
kernigh

มันขึ้นอยู่กับความแม่นยำของภาษา ใน PHP 14 หลักทศนิยมคือค่าทั่วไป
kenorb

@ kernigh มันไม่สำคัญในกรณีนี้ แต่จะ99/sin(πเป็นห้าไบต์หรือแปด? ฉันรู้ว่า TI-BASIC เก็บคำสั่งไว้เป็นไบต์เดียว เป็นsin(หนึ่งในนั้น
wchargin

16

Haskell

ไม่มีเทคนิคใด ๆ :

main = print -- Necessary to print anything
    $9999*9999 -- 999890001

เนื้อหาโดยไม่ต้องคำนวณอะไร:

main = print
    $floor$1/0 -- 179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216

ปรับคำตอบของ Niet :

main = print
    $99/sin pi -- 8.083963479831708e17

bullet ที่สามบอกว่า "โปรแกรมของคุณต้องคำนวณ ... "
80551

8
floor(infinity)จำกัด จำนวนคืออะไร? อะไรห่า Haskell
nneonneo

3
1/0! = อนันต์มันไม่ได้กำหนด
RubberDuck

1
คุณแน่ใจหรือไม่ว่า @ ckuhn203 ใน GHC 7.6.3 และ 7.8.2 ฉันได้รับisInfinite $ 1 / 0 -- Trueแล้ว เท่าที่ฉันสามารถบอกได้IEEE 754 นิยาม 1 / 0ว่าเป็นอินฟินิตี้
Taylor Fausak

2
โอ้คุณหมายถึงทางคณิตศาสตร์ ฉันเห็นด้วยอย่างสมบูรณ์ แต่เท่าที่เกี่ยวกับการเขียนโปรแกรมด้วย IEEE floating point (และโดยเฉพาะ Haskell) นั้นเป็นห่วง, 1 / 0 == Infinity.
Taylor Fausak

15

Powershell - 1.12947668480335E + 42

99PB*9E9PB

ทวีคูณ 99 Pebibytes คูณ 9,000,000,000 Pebibytes


7
เพตาไบต์ 98901 sq? นั่นเป็นวิธีการวัดความหนาแน่นบิตของพื้นผิวของฮาร์ดดิสก์ในอนาคตหรือไม่?
user80551

ดี. ไม่ทราบว่าเป็นไปได้ pebibytes ฉันมักจะคิดว่ามันหยุดที่ tebibytes
Joey

@ โจอี้ตอนนี้ถ้า MS จะรีบเร่งและเพิ่ม yobibytes เท่านั้นคำตอบน่าจะดีกว่านี้
Rynant

1
ฉันสามารถเพิ่มลงในPashหากช่วย ... ;-)
Joey

1+ "1" * 309 เอาท์พุท 1.1111e308 แม้ว่าฉันคิดว่านี่จะทำลายจิตวิญญาณถ้าไม่ใช่คำของกฎในการพิมพ์อักขระ มันหล่อเป็นสองเท่าสำหรับการส่งออก
tomkandy

14

เจ ( ((((((((9)!)!)!)!)!)!)!)!)

ใช่นั่นเป็นจำนวนมาก 10^(10^(10^(10^(10^(10^(10^(10^6.269498812196425)))))))จะไม่แม่นยำมาก

!!!!!!!!9x

5
ฉันหาคอมไพเลอร์แต่หลังจาก 20 นาที!!9xยังไม่ได้พิมพ์อะไรไปยังหน้าจอ ฉันจริงใจข้อสงสัยว่า!!!!!!!!9xจะเคยได้รับการคำนวณ
Kyle Kanos

16
"หากใช้เวลานานกว่าหนึ่งชั่วโมงในการทำงานบนคอมพิวเตอร์ที่เร็วที่สุดในโลกแสดงว่าไม่ถูกต้อง" ไม่แน่ใจว่าสิ่งนี้จะใช้ได้เนื่องจากไม่ได้ทำงานภายในหนึ่งชั่วโมง
Claudiu

11
ใช้เวลา 70 นาที แต่!!9xในที่สุดก็พิมพ์ไปที่หน้าจอ ฉันประทับใจที่จริง ๆ แล้วมันคำนวณค่า แต่ก็ยังไม่สำเร็จ bullet 5
Kyle Kanos

6
@Quincunx: มีแนวโน้มที่เป็นจริง แต่เงื่อนไขสำหรับคำตอบที่ถูกต้องคือโปรแกรมจะต้องประสบความสำเร็จในการส่งออก; คำตอบนี้ล้มเหลวอย่างสมบูรณ์เกณฑ์ที่ น่าเศร้าที่ผู้ต่อต้านได้เพิกเฉยต่อความคิดเห็นทั้งหมดที่ชี้ให้เห็นและยังคงถอนรากถอนโคนมากกว่าคำตอบ CJam & Golfscript ที่มีขนาดใหญ่มากและคำนวณได้ในเวลาที่เหมาะสม
Kyle Kanos

3
ลงเนื่องจากไม่ได้พิมพ์คำตอบออกมา
isaacg

14

K / Kona : 8.977649e261 1.774896e308

*/1.6+!170
  • !170 สร้างเวกเตอร์ของตัวเลขตั้งแต่ 0 ถึง 169
  • 1.6+ เพิ่มหนึ่งองค์ประกอบให้กับแต่ละองค์ประกอบของเวกเตอร์ & แปลงเป็นเรียล (ช่วงคือ 1.6 ถึง 170.6)
  • */ คูณแต่ละองค์ประกอบของอาร์เรย์ด้วยกัน

หาก Kona สนับสนุนความแม่นยำแบบ Quad ฉันสามารถทำได้*/9.+!999และได้รับประมาณ 1e2584 น่าเศร้าที่มันไม่ได้และฉันถูก จำกัด ให้มีความแม่นยำเป็นสองเท่า


วิธีการเก่า

*/9.*9+!99
  • !99 สร้างเวกเตอร์ของตัวเลขตั้งแต่ 0 ถึง 98
  • 9+ เพิ่ม 9 องค์ประกอบของเวกเตอร์ (ตอนนี้ช่วง 9 ถึง 107)
  • 9.* คูณแต่ละองค์ประกอบด้วย 9.0 (โดยปริยายแปลงเป็น reals ดังนั้น 81.0 ถึง 963.0)
  • */ คูณแต่ละองค์ประกอบของเวกเตอร์ด้วยกัน

14

HTML, 9999999999

9999999999

.. ถูกจับมัน


1
ไม่ใช่ภาษาโปรแกรม แต่
แมว

1
ใช้ PHP ดีกว่า!
CalculatorFeline

@cat ในกรณีนี้มันดีเพราะนี่คือสิ่งที่เตือนให้รำลึกถึงความท้าทายที่ซับซ้อนของ kolmogorov
Addison Crump

9&Hat;99999^9999พิมพ์ เพียงแค่พูดใน :)
ม.ค.

1
saddly PHP_INT_MAXคือ 11
ArtisticPhoenix

11

Python - แตกต่างกันมากถึง 13916486568675240 (จนถึงตอนนี้)

ไม่จริงจังเลย แต่ฉันคิดว่ามันคงจะสนุกดี

print id(len)*99

จากทุกสิ่งที่ฉันพยายามlenคือทำให้ฉันได้รับรหัสที่มีขนาดใหญ่อย่างสม่ำเสมอ

ให้ผลเป็น 13916486568675240 (17 หลัก) บนคอมพิวเตอร์ของฉันและ 13842722750490216 (รวมทั้ง 17 หลัก) ในเว็บไซต์นี้ ฉันคิดว่ามันเป็นไปได้สำหรับเรื่องนี้ที่จะให้คุณเป็นต่ำเป็น 0 แต่ก็อาจจะสูงขึ้น


ความคิดที่ดี แต่น่าเสียดายที่มันไม่ได้calculateอะไรเลย
user80551

3
ฉันเชื่อว่า*99ส่วนที่เรียกใช้การคำนวณ
คอมมานโด

ใช่แล้ว / ฉันรู้สึกงี่เง่า
user80551

1
ถ้าคุณใช้บางสิ่งบางอย่างที่สั้นกว่า - พูดid(id)หรือid(0j)คุณสามารถคูณด้วย999
gnibbler

1
ออกมาจากคนชื่อเล็กdocs.python.org/2/library/functions.html , varsอย่างต่อเนื่องจะช่วยให้ค่าสูงสุด ( แต่ 4 ตัวอักษร) sumตามด้วย ใช้print(sorted([(id(x),x)for x in[id,len,max,min,str,int,ord,chr,sum,map,abs,all,any,bin,bool,eval,oct,vars,iter,list,set,repr,round,zip,type,pow,dict,dir,hex]])[::-1])ในการตรวจสอบ
user80551

10

Golfscript, 1e + 33,554,432

10{.*}25*

คำนวณ10 ^ (2 ^ 25)โดยไม่ใช้เลขชี้กำลังเรียกใช้ใน 96 วินาที:

$ time echo "10{.*}25*" | ruby golfscript.rb  > BIG10

real    1m36.733s
user    1m28.101s
sys     0m6.632s
$ wc -c BIG10
 33554434 BIG10
$ head -c 80 BIG10
10000000000000000000000000000000000000000000000000000000000000000000000000000000
$ tail -c 80 BIG10
0000000000000000000000000000000000000000000000000000000000000000000000000000000

มันสามารถคำนวณได้ถึง9 ^ (2 ^ 9999)ถ้าให้เวลาเพียงพอ แต่การเพิ่มเลขชี้กำลังภายในโดยการเพิ่มขึ้นทำให้ใช้เวลา ~ สามเท่าดังนั้นขีด จำกัด หนึ่งชั่วโมงจะมาถึงในไม่ช้า

คำอธิบาย :

การใช้เวอร์ชันก่อนหน้าด้วยแนวคิดเดียวกัน:

8{.*}25*

ทำลายมันลง:

8         # push 8 to the stack
{...}25*  # run the given block 25 times

สแต็คที่จุดเริ่มต้นของแต่ละบล็อกประกอบด้วยหมายเลขหนึ่งหมายเลขปัจจุบัน 8นี้เริ่มต้นออกเป็น แล้ว:

.         # duplicate the top of the stack, stack is now | 8 | 8 |
*         # multiply top two numbers, stack is now       | 64 |

สแต็กทีละขั้นตอนมีลักษณะดังนี้:

8
8 8
64
64 64
4096
4096 4096
16777216
16777216 16777216

... ฯลฯ เขียนในรูปแบบทางคณิตศาสตร์ความก้าวหน้าคือ:

n=0, 8                     = 8^1  = 8^(2^0)
n=1, 8*8                   = 8^2  = 8^(2^1)
n=2, (8^2)*(8^2) = (8^2)^2 = 8^4  = 8^(2^2)
n=3,               (8^4)^2 = 8^8  = 8^(2^3)
n=4,               (8^8)^2 = 8^16 = 8^(2^4)

ข้อตกลงกับคนสองคนต่อหน้า 2564 ในผลลัพธ์ของคุณคืออะไร?
Kyle Kanos

@KyleKanos: wcนั่นไม่ใช่การส่งออกของฉันก็ส่งออกของ ฉันจะแก้ไขเพื่อให้ชัดเจนยิ่งขึ้น
Claudiu

คุณสามารถใช้wc -cเพื่อทำให้การแสดงผลชัดเจนขึ้น
daniero

ดี! ฉันมีความคิดเดียวกันเมื่อไม่กี่นาทีที่ผ่านมา แต่มันทำงานช้ากว่ามากกับ CJam (ซึ่งน่าแปลกใจเนื่องจากเร็วกว่า GolfScript ทั่วไป)
Dennis

1
การปรับปรุงเล็กน้อย: 10{.*}25ให้ 33,554,434 หลักและเสร็จใน 90 วินาทีในเครื่องของฉัน ฉันไม่รู้ว่าทำไม แต่10{.*}26*พิมพ์อะไร
Dennis

7

wxMaxima ~ 3x10 49,948 (หรือ 10 8,565,705,514 )

999*13511!

ผลผลิตคือ

269146071053904674084357808139[49888 digits]000000000000000000000000000000

ไม่แน่ใจว่ามันเหมาะกับสเป็คหรือไม่ (โดยเฉพาะรูปแบบเอาต์พุต) แต่ฉันสามารถตีให้ใหญ่ขึ้นได้:

bfloat(99999999!)

ผลผลิตคือ

9.9046265792229937372808210723818b8565705513

นั่นคือประมาณ 10 8,565,705,514ซึ่งใหญ่กว่าคำตอบส่วนใหญ่อย่างมีนัยสำคัญและถูกคำนวณในเวลาประมาณ 2 วินาที bfloatฟังก์ชั่นช่วยให้ความแม่นยำโดยพลการ


6

Haskell, 4950

เอ่อชายนั่นไม่มาก! 10 ตัวอักษรเริ่มต้นหลังจากเครื่องหมายดอลลาร์

main=putStr.show$sum[1..99]

ทำไมไม่เพียงprint? นอกจากนี้ยังมีค่ามากกว่า9/0.000001 sum[1..99]
Taylor Fausak

5
ในอัตราดังกล่าวเราอาจพิจารณา 9 999 999 999 เพื่อให้เป็นขอบเขตที่ต่ำกว่าของผลลัพธ์
Keen

@TaylorFausak คำตอบนี้เห็นได้ชัดว่าไม่ควรทำอย่างจริงจัง!
Flonk

6

Mathematica, 2.174188391646043 * 10 ^ 20686623745

$MaxNumber

สิบตัวอักษรอย่างแน่นอน


7
มันเป็นการคำนวณทางเทคนิคหรือไม่และมันแสดงผลตัวเลขทั้งหมดไม่ใช่แค่สัญลักษณ์ทางวิทยาศาสตร์?

@Yimin: ผลลัพธ์อาจอยู่ในรูปแบบใดก็ได้ (เพื่อให้คุณสามารถพิมพ์ 999, 5e + 100, ฯลฯ )
edc65

ค่าไม่ถูกตั้งค่าในเวลาคอมไพล์ แต่ขึ้นอยู่กับเครื่องเฉพาะที่รันคำสั่ง ฉันคิดว่ามันนับ
Michael Stern

5

Python shell, 649539 999890001

Beats Haskell ไม่ใช่คำตอบที่จริงจังจริงๆ

99999*9999

6
9999999999 ใหญ่กว่าใช่ไหม
MadTux

5
@MadTux มีการ จำกัดcalculateคำตอบที่ไม่ชัดเจน
user80551

1
หากคำตอบนี้ถูกต้องแสดงว่าฉัน9**9**9**9ถูกต้องเนื่องจากมันเป็นตัวดำเนินการทางคณิตศาสตร์ (ไม่ใช่ฟังก์ชั่นในตัว)
kenorb

3
@kenorb มันสร้างขึ้นในการยกกำลังที่ไม่ได้รับอนุญาต
user80551

5

Wolfram Alpha (เว็บไซต์นับเป็นภาษา) หรือไม่

9! ! ! ! !

เอาท์พุท

10^(10^(10^(10^(10^(6.27...))))

ขอบคุณ Cory สำหรับเคล็ดลับที่พื้นที่ทำงานเช่นเดียวกับการล้อเลียน


ฉันค่อนข้างแน่ใจว่านี่เป็นจำนวนที่มากที่สุดในเธรดของโพสต์ของฉัน แต่ Wolfram ทำให้เกิดการเปรียบเทียบกับตัวเลขอื่นแม้ว่าจะ((99!)!)! > 4ไม่ส่งคืนก็ตาม
gggg

สิ่งนี้ขัดกับกฎที่บอกว่าคุณไม่สามารถรับมันได้จากเว็บ
Kyle Kanos

1
มากเกินไป W | A!
ไม่ระบุชื่อ Pi

5
ฉันไม่เห็นด้วยที่จะทำลายกฎ มันไม่ "อ่านจากเว็บ" ซึ่งขัดกับกฎจริงๆแล้วมัน "คำนวณเลขเดียวแล้วพิมพ์" ซึ่งเป็นสิ่งที่ควรจะเป็น ข้อเท็จจริงที่ว่าอินเทอร์เฟซเดียวที่มีคือเว็บไซต์ไม่ได้หมายความว่ามันไม่สามารถนับเป็นภาษาโปรแกรม
gggg

1
มันเป็นคำตอบที่ถูกต้องสมบูรณ์
microbian

4

Befunge-93 (1,853,020,188,851,841)

ดีใจที่ไม่มีใครทำ Befunge เลย (มันเป็นช่องของฉัน) แต่ก็เถอะฉันไม่สามารถหาเคล็ดลับที่ฉลาดเพื่อเพิ่มจำนวนได้

9:*:*:*:*.

มันคือ 9 ^ 16

:*

โดยทั่วไปจะคูณค่าที่ด้านบนของสแต็กด้วยตัวเอง ดังนั้นค่าที่ด้านบนของสแต็คจะเป็นดังนี้:

9
81
6561
43046721
1853020188851841

และ

.

ส่งออกค่าสุดท้าย ฉันสนใจที่จะดูว่าใครมีแนวคิดที่ดีกว่านี้หรือไม่



4

ฉันต้องการโพสต์สิ่งนี้เป็นความคิดเห็นด้านบน แต่เห็นได้ชัดว่าฉันทำไม่ได้เนื่องจากฉันเป็นคนไม่มีอะไร

งูหลาม:

9<<(2<<29)

ฉันจะไปกับการเปลี่ยนแปลงบิตที่มีขนาดใหญ่ขึ้น แต่ Python ดูเหมือนว่าต้องการตัวถูกดำเนินการด้านขวาของการเปลี่ยนแปลงที่จะเป็นจำนวนเต็มไม่นาน ฉันคิดว่านี่จะเข้าใกล้ค่าสูงสุดตามทฤษฎี:

9<<(7<<27)

ปัญหาเดียวของสิ่งเหล่านี้คือพวกเขาอาจไม่ปฏิบัติตามกฎ 5


3

Matlab (1.7977e + 308)

Matlab เก็บค่าที่ใหญ่ที่สุด (ความแม่นยำสอง) realmaxจำนวนจุดลอยตัวในตัวแปรที่เรียกว่า เรียกใช้งานในหน้าต่างคำสั่ง (หรือที่บรรทัดคำสั่ง) พิมพ์ค่า:

>> realmax

ans =

  1.7977e+308

ตั้งแต่ OP ขอให้กลับมาเป็นคำนวณrealmax+1ค่าคุณควรใส่ ฉันลองมันเพื่อความสนุกและทำให้ประหลาดใจว่ามันจะกลับมาเป็นจำนวนเดียวกันกับที่คุณมี (จากนั้นฉันก็หัวเราะเมื่อฉันรู้ตัว ... eps(realmax)=1.99584030953472e+292)
Hoki

3

Python, แคลิฟอร์เนีย 1.26e1388

9<<(9<<9L)

ให้:

126026689735396303510997749074166929355794746000200933374690887068497279540873057344588851620847941756785436041299246554387020554314993586209922882758661017328592694996553929727854519472712351667110666886882465827559219102188617052626543482184096111723688960246772278895906137468458526847698371976335253039032584064081316325315024075215490091797774136739726784527496550151562519394683964055278594282441271759517280448036277054137000457520739972045586784011500204742714066662771580606558510783929300569401828194357569630085253502717648498118383356859371345327180116960300442655802073660515692068448059163472438726337412639721611668963365329274524683795898803515844109273846119396045513151325096835254352967440214290024900894106148249792936857620252669314267990625341054382109413982209048217613474462366099211988610838771890047771108303025697073942786800963584597671865634957073868371020540520001351340594968828107972114104065730887195267530118107925564666923847891177478488560095588773415349153603883278280369727904581288187557648454461776700257309873313090202541988023337650601111667962042284633452143391122583377206859791047448706336804001357517229485133041918063698840034398827807588137953763403631303885997729562636716061913967514574759718572657335136386433456038688663246414030999145140712475929114601257259572549175515657577056590262761777844800736563321827756835035190363747258466304L3763403631303885997729562636716061913967514574759718572657335136386433456038688663246414030999145140712475929114601257259572549175515657577056590262761777844800736563321827756835035190363747258466304L3763403631303885997729562636716061913967514574759718572657335136386433456038688663246414030999145140712475929114601257259572549175515657577056590262761777844800736563321827756835035190363747258466304L


3

อย่างน้อย Python 3.5.0 (64- บิต) มากกว่า 10 ^ 242944768872896860

print("{:x}".format( 9<<(7<<60) ))

ในโลกอุดมคตินี่จะเป็น9<<(1<<63)-1เช่นนั้น แต่มีไม่เพียงพอสำหรับไบต์ ตัวเลขนี้ใหญ่มากที่ต้องใช้หน่วยความจำเกือบ 1 EiB เพื่อเก็บไว้ซึ่งมากกว่าที่ฉันมีในคอมพิวเตอร์เล็กน้อย โชคดีที่คุณจำเป็นต้องใช้พื้นที่เก็บข้อมูลประมาณ 0.2% ของโลกเพื่อสลับไปมา ค่าในไบนารีจะ1001ตามด้วยศูนย์ 8070450532247928832

ถ้า Python ออกมาสำหรับเครื่องที่มีขนาด 128 บิตสูงสุดจะเป็น9<<(9<<99)ซึ่งต้องใช้หน่วยความจำน้อยกว่า 1 MiYiB นี่เป็นสิ่งที่ดีเพราะคุณมีพื้นที่เหลือที่สามารถกำหนดแอดเดรสได้เพียงพอสำหรับการจัดเก็บล่าม Python และระบบปฏิบัติการ


"เหลือเพียง 0.2% ของพื้นที่จัดเก็บของโลก"
Benjamin Urquhart

1
@BenjaminUrquhart ถ้าคุณคิดว่าดีทำไมไม่ลองโหวต?
wizzwizz4

มี upvote คู่ของคุณ;)
เบนจามิน Urquhart

3

Cubix , 9.670457478596419e + 147 (ไม่แข่งขัน)

****"///**

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

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

Cubix เป็น esolang 2 มิติที่มีการห่อโค้ดไว้รอบ ๆ cube รหัสนี้เทียบเท่ากับ cube net ดังต่อไปนี้โดยที่.ไม่มีตัวเลือก:

    * *
    * *
" / / / * * . .
. . . . . . . .
    . .
    . .

จากนั้นโค้ดจะถูกรันโดยตัวชี้คำแนะนำ (IP) เริ่มต้นที่มุมซ้ายบนของใบหน้าซ้ายสุดหันไปทางขวา "เปิดโหมดสตริงโดยที่ทุกตัวอักษรเจอจนกระทั่งตัวอักษรตัวถัดไปส่งไป"ยังสแต็ก IP ล้อมรอบทุกรอบรหัสผลักดันสาม/s (47), สอง*s (42), และสอง.s (46) ไปที่สแต็กก่อนออกจากโหมดสตริงอีกครั้ง

นี่คือสิ่งที่มันน่าสนใจ กระจกแรก/สะท้อน IP ดังนั้นมันจึงหงายขึ้น จากนั้นมันจะหมุนไปรอบ ๆ ลูกบาศก์กดปุ่มตัวอักษรเหล่านี้:

           
    * *
  /     *      
  .     .      
    . .

สามรายการ*คูณสองรายการแรกบนสแต็ก ตอนนี้ซึ่งแตกต่างจากภาษาสแต็กส่วนใหญ่ที่ผู้ประกอบการทางคณิตศาสตร์ปรากฏข้อโต้แย้งของพวกเขา Cubix ออกจากค่าก่อนหน้านี้ในกอง 46*46 = 2116, 46*2116 = 97336, 2116*97336 = 205962976ดังนั้นหมายความคำนวณนี้

เมื่อ IP ถึงจุด/อีกครั้งมันจะเลี้ยวขวา จากนั้นจะกระทบกระจกถัดไปและตามเส้นทางนี้:

    *  
    *  
    /         .
    .         .
    .  
    .  

เครื่องหมายดอกจันสองตัวคูณสองรายการบนสุดอีกครั้ง จากนั้นมิเรอร์จะชี้นำ IP อีกครั้งและมิเรอร์ที่สามจะทำซ้ำกระบวนการอีกครั้ง:

      *
      *
      /     .  
      .     .  
      .
      .

ในที่สุด IP ออกจากส่วนกระจกมุ่งหน้าไปทางทิศตะวันออก เครื่องหมายดอกจัน finaly สองอันทวีคูณสองครั้งเพิ่มขึ้นเป็นผลให้ 9.670457478596419e + 147 บนกองซ้อน สิ่งนี้สามารถพิมพ์ด้วยOแต่ไม่มีวิธีง่ายๆในการทำเช่นนั้นเนื่องจากใช้งานได้จริงทุกจุดบนคิวบ์แล้ว


2

สกาลา, 2 63 -1

สกาล่าไม่ดี ใช้เวลาอย่างน้อย 8 ตัวอักษรเพื่อรับBigIntค่าซึ่งไม่ได้มีที่ว่างเพียงพอที่จะทำให้มันใหญ่

แต่ด้วยรหัส (นับ) เพียง 7 ตัวอักษรเราสามารถพิมพ์ค่าบวกที่เป็นไปได้ที่ใหญ่ที่สุดLong:

print(-1L>>>1)

2

Brainf ** k 256 - 2147483647

>+[<+>+]<.

หากคุณเพิกเฉยต่อความจริงที่ว่าคอมไพเลอร์ & ล่ามส่งออกข้อมูลเนื่องจากมันเป็นแบบ ASCII เทียบเท่ากัน (เป็นแบบผ่อนปรนมันคืออะไร;))สิ่งนี้จะส่งคืนค่าสูงสุดของประเภทข้อมูลของล่าม / ผู้แปล

ในบางระบบนี่เป็นเพียง 256 แม้ว่าในบางระบบ (เช่นของฉัน) นี่เป็นค่าสูงสุดของจำนวนเต็ม 32 บิตเช่น 2 147 483 647

แก้ไข:

-.

จะพิมพ์สิ่งเดียวกันในตัวละครน้อยลง


คำตอบที่สองนั้นจะพิมพ์-1บนล่ามที่ใช้ค่าที่เซ็นชื่อสำหรับเทป
Benjamin Urquhart

2

Perl ไม่ใช่การแข่งขัน

ฉันใช้สิ่งนี้เพื่อเน้นมุมเล็ก ๆ ของ perl

Perl ไม่สามารถแข่งขันกับอันนี้ได้เพราะมันไม่มีบิกนิวในตัว (แน่นอนคุณสามารถโหลดไลบรารี่ bignum) ได้

แต่สิ่งที่ทุกคนรู้ไม่เป็นความจริงอย่างสมบูรณ์ ฟังก์ชั่นแกนหนึ่งที่จริงสามารถจัดการกับตัวเลขขนาดใหญ่ได้

packรูปแบบwจริงสามารถแปลงจำนวนธรรมชาติขนาดใด ๆ ระหว่างฐานและฐาน10 128จำนวนเต็มฐาน 128 จะถูกแทนด้วยจำนวนไบต์สตริง bitstring xxxxxxxyyyyyyyzzzzzzzกลายเป็นไบต์: 1xxxxxxx 1yyyyyyy 0zzzzzzz(ทุก ๆ ไบต์เริ่มต้นด้วย 1 ยกเว้นอันสุดท้าย) และคุณสามารถแปลงสตริงดังกล่าวเป็นเบส 10 ด้วยการแกะ ดังนั้นคุณสามารถเขียนรหัสเช่น:

unpack w,~A x 4**4 .A

ซึ่งจะช่วยให้:

17440148077784539048602210552864286760481312243331966651657423831944908597692986131110771184688683631223604950868378426010091037391551287028966465246275171764867964902846884403624214574779667949236313638077978794791039372380746518407204456880869394123452212674801443116750853569815557532270825838757922217314748231826241930826238846175896997055564919425918463307658663171965135057749089077388054942032051553760309927468850847772989423963904144861205988704398838295854027686335454023567793114837657233481456867922127891951274737700618284015425

คุณสามารถแทนที่4**4ด้วยค่าที่มากขึ้นจนกว่าคุณจะรู้สึกว่ามันใช้เวลานานเกินไปหรือใช้หน่วยความจำมากเกินไป

น่าเสียดายที่มันยาวเกินไปสำหรับขีด จำกัด ของความท้าทายนี้และคุณสามารถยืนยันได้ว่าผลลัพธ์ฐาน 10 ถูกแปลงเป็นสตริงก่อนที่มันจะกลายเป็นผลลัพธ์ดังนั้นการแสดงออกไม่ได้สร้างจำนวนจริง แต่ภายใน perl ทำเลขคณิตที่จำเป็นจริงๆในการแปลงอินพุตเป็นฐาน 10 ซึ่งฉันถือว่าค่อนข้างเรียบร้อย


2

TI-36 (ไม่ใช่ 84, 36), 10 ไบต์, โดยประมาณ 9.999985426E99

เครื่องคิดเลขรุ่นเก่าสามารถตั้งโปรแกรมได้ในระดับหนึ่งเช่นกัน;)

69!58.4376

ซึ่งใกล้เคียงกับช่วงสูงสุดที่เครื่องคิดเลข TI สามารถแสดงได้:-1E100<x<1E100

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


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