ฉันจะสร้าง Pi เป็นจำนวนทศนิยมที่กำหนดจากสคริปต์ได้อย่างไร


9

ใครบ้างมีสคริปต์ที่ฉันสามารถเรียกใช้เช่น:

sh generatepi.sh 10000

โดยที่10000คือจำนวนตำแหน่งทศนิยม generated (Pi) ที่สร้างขึ้น


7
เพื่อจุดประสงค์อะไร? หากคุณต้องการตัวเลข: wolframalpha.com/input/?i=N%5BPi%2C+10000%5D
cYrus

คำตอบ:


19

สมมติว่าคุณมียูทิลิตี้bc(เครื่องคิดเลขพื้นฐาน)ในระบบของคุณคุณสามารถใช้คำสั่งต่อไปนี้และคณิตศาสตร์เก่า ๆ ที่ดีในการคำนวณทศนิยมπถึง 10,000 ตำแหน่ง:

echo "scale=10000; 4*a(1)" | bc -l

การดำเนินการนี้อาจใช้เวลาสักครู่ในการเติมทศนิยม 10,000 ตำแหน่ง

ทำลายคำสั่งลง ...

  • scale = 10000 - นี่เป็นการระบุจำนวนตำแหน่งทศนิยมที่จะใช้สำหรับผลลัพธ์
  • 4 * a (1) - นี่จะคืนค่าอาร์กแทนเจนต์ของ 1 [ซึ่งเท่ากับ 45 °: 45 x (180/180) หรือ¼π] จากนั้นคูณด้วย 4 เพื่อรับπ
  • BC -l - ท่อสตริงฟังก์ชั่นที่สมบูรณ์ลงในBCยูทิลิตี้-lระบุโหลดห้องสมุดคณิตศาสตร์มาตรฐานที่จำเป็นสำหรับฟังก์ชั่นอาร์กแทนเจนต์, (การ)

หากต้องการรวมสคริปต์นี้ตามที่คุณระบุในคำถามของคุณให้ใช้เครื่องมือแก้ไขที่คุณชื่นชอบเพื่อเขียนสิ่งต่อไปนี้และบันทึกเป็นgeneratepi.sh:

#!/bin/bash
echo "scale=$1; 4*a(1)" | bc -l

จากการใช้เทอร์มินัลchmod +x generatepi.shจากโฟลเดอร์ที่คุณบันทึกไฟล์ไว้ซึ่งจะให้สิทธิ์ในการเรียกใช้สคริปต์ generatepi.sh [number of places]ไวยากรณ์แล้ว หมายเหตุสิ่งนี้ใช้วิธีการจัดการพารามิเตอร์ขั้นพื้นฐานและจะไม่ตรวจสอบอินพุตดังนั้นให้แน่ใจว่าคุณส่งผ่านจำนวนเต็มบวกเป็นพารามิเตอร์เท่านั้น

ระบบ Linux ส่วนใหญ่ควรมีbcแต่คุณอาจจำเป็นต้องติดตั้งในบางกรณี (เช่นapt-getบน Ubuntu, เกิดขึ้นที่ Gentoo เป็นต้น) นอกจากนี้ยังมีพอร์ตของ BC สำหรับ Windows


มีเครื่องคิดเลข pi ดั้งเดิมสำหรับ windows - โอเวอร์คล็อกเกอร์ใช้ทดสอบความเสถียร
Journeyman Geek

~ 3 นาทีในเครื่องของฉันไม่มีประโยชน์เลยในสคริปต์ +1 bcแต่สำหรับการใช้
cYrus

ฉันคิดว่า "b" ใน "bc" ย่อมาจาก "Berkeley" มากกว่า "Bench"
1364368

ขอบคุณ อัปเดตเป็น 'เครื่องคิดเลขพื้นฐาน' โดยอิงจากen.wikipedia.org/wiki/Bc_(programming_language)
Gaff
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.