เจ้านายของฉันเพิ่งบอกให้ฉันเขียนฟังก์ชันโคไซน์ เป็นคนที่มีความสามารถทางคณิตศาสตร์ที่ดีจิตใจของฉันคิดในแบบที่เหมาะสมกับซีรีย์เทย์เลอร์ทันที
cos(x) = 1 / 0! - x^2 / 2! + x^4 / 4! - x^6 / 6! + ... + (-1)^k x^(2k) / (2k)! + ...
อย่างไรก็ตามเจ้านายของฉันจู้จี้จุกจิกมาก เขาต้องการที่จะสามารถระบุจำนวนเทย์เลอร์ในการคำนวณได้อย่างแม่นยำ คุณช่วยฉันเขียนฟังก์ชันนี้ได้ไหม
งานของคุณ
รับค่า floating point x
จาก0
ถึง2 pi
และจำนวนเต็มบวกn
น้อยกว่า100
คำนวณผลรวมของn
เทอมแรกของอนุกรมเทย์เลอร์ที่กำหนดไว้ด้านบนสำหรับcos(x)
แง่ของซีรีส์เทย์เลอร์กล่าวข้างต้นสำหรับ
นี่คือ รหัสกอล์ฟดังนั้นรหัสที่สั้นที่สุดจึงชนะ สามารถนำเข้าและส่งออกได้หลายวิธี ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม
หมายเหตุ
- สามารถป้อนข้อมูลในรูปแบบที่เหมาะสมใด ๆ ตราบใดที่มีการแยกชัดเจนระหว่าง
x
และn
และ - อินพุตและเอาต์พุตควรเป็นค่าจุดลอยตัวอย่างน้อยความแม่นยำเท่ากับการคำนวณสูตรโดยใช้ตัวเลขทศนิยมลอยตัว IEEE ที่มีความแม่นยำเดียวพร้อมกับกฎการปัดเศษมาตรฐานบางอย่าง
- หากเหมาะสมกับภาษาที่ใช้การคำนวณอาจทำได้โดยใช้ปริมาณที่แน่นอน แต่อินพุตและเอาต์พุตจะยังคงอยู่ในรูปแบบทศนิยม
ตัวอย่าง
x | n | Output
----+----+--------------
0.0 | 1 | 1.0
0.5 | 1 | 1.0
0.5 | 2 | 0.875
0.5 | 4 | 0.87758246...
0.5 | 9 | 0.87758256...
2.0 | 2 | -1.0
2.0 | 5 | -0.4158730...
n
ก็ยิ่งใหญ่กว่าเช่นกัน0
?