ประมาณค่าคงที่ของFransén-Robinson


9

รับอินพุตnส่งออกค่าของค่าคงที่Fransén-Robinsonด้วยnตัวเลขหลังจุดทศนิยมด้วยการปัดเศษ

กฎระเบียบ

  • คุณอาจจะสมมติว่าอินพุตทั้งหมดเป็นจำนวนเต็มระหว่าง 1 ถึง 60
  • คุณไม่สามารถจัดเก็บค่าที่เกี่ยวข้องใด ๆ - ค่าคงที่ต้องคำนวณไม่ถูกเรียกคืน
  • การปัดเศษต้องกระทำด้วยเกณฑ์ต่อไปนี้:
    • หากตัวเลขถัดจากตัวเลขสุดท้ายน้อยกว่าห้าหลักสุดท้ายจะต้องยังคงเหมือนเดิม
    • หากตัวเลขหลังตัวเลขสุดท้ายมากกว่าหรือเท่ากับห้าหลักสุดท้ายจะต้องเพิ่มขึ้นทีละหนึ่ง
  • คุณต้องส่งออกn+1ตัวเลขแรกเท่านั้น
  • ช่องโหว่มาตรฐานใช้

กรณีทดสอบ

>>> f(0)
3

>>> f(1)
2.8

>>> f(11)
2.80777024203

>>> f(50)
2.80777024202851936522150118655777293230808592093020

>>> f(59)
2.80777024202851936522150118655777293230808592093019829122005

>>> f(60)
2.807770242028519365221501186557772932308085920930198291220055

จะทำอย่างไรถ้าคุณไม่ได้รับการสนับสนุนสำหรับความแม่นยำตามอำเภอใจลอย?
ข้อบกพร่อง

1
@ flawr ฉันคิดว่าภาษาจะต้องใช้รูปแบบของการเรียงสตริงหรือคล้ายกัน ไม่เช่นนั้นอาจไม่ใช่ภาษาสำหรับความท้าทายนี้
Addison Crump

น่าเสียดายที่มันทำให้เรามีตัวเลขที่เข้ารหัสยาก PS: ทำไมคุณไม่เพิ่มf(60)ในกรณีทดสอบ? ด้วยวิธีนี้ผู้เข้าร่วมไม่จำเป็นต้องดึงมันออกมาจากภายนอก =)
ข้อบกพร่อง

@flawr Hardcoding ไม่ได้รับอนุญาตตามกฎ 2
Addison Crump

ศูนย์ต่อท้ายตกลงหรือไม่
Mego

คำตอบ:


7

Mathematica, 44 39 36 25 UTF-8 ไบต์

  • -5 ไบต์ขอบคุณ Sp3000
  • -3 ไบต์ขอบคุณ kennytm
  • -11 ไบต์ขอบคุณ senegrom

ข้ามไป44ยังเป็นปกติ 44 !!

N[∫1/x!{x,-1,∞},#+1]&

ตัวอย่าง:

f=N[∫1/x!{x,-1,∞},#+1]&
f[2]

2.81เอาท์พุท

คำอธิบาย

N[               , # + 1] 
  ∫1/x!{x,-1,∞}

ขั้นตอนแรกใช้จำนวนลอNจิคัลที่เหลือด้วย#(พารามิเตอร์ตัวแรก) + 1 ความแม่นยำ !(แฟ็กทอเรียล) ทำในสิ่งที่คุณคาดหวัง {x, -1, Infinity}กำหนดขอบเขตสำหรับส่วนประกอบ (จัดรูปแบบที่แปลก)


ฉันไม่สามารถทดสอบสิ่งนี้ได้ฉันจึงถือว่ารอบนี้ถูกต้องหรือไม่
Addison Crump

1
@VTCAKAVSMoACE ฉันตรวจสอบn = 60แล้วมันหมุนได้อย่างถูกต้อง ( 61ตัวเลขหลักคือ8) คุณสามารถดูเอกสารของ Wolfram Nได้
NoOneIsHere

Coolio เพียงตรวจสอบ
Addison Crump

คุณอาจจะสามารถใช้ตัวอักษรในสถานที่ของ Infinityฉันขอแนะนำให้หารด้วย 0 หากไม่ได้ผลิตComplexInfinityแทน ...
Sp3000

1
พยายามN[∫1/x!{x,-1,∞},#+1]&ที่เป็น Unicode-F74C; แสดง𝕕ใน Mathematica (โปรดทราบว่าพื้นที่ก่อนหน้า&นั้นไม่จำเป็นด้วยเช่นกัน ... )
senegrom
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.