ปัญหาดัดแปลงมาจากหนังสือFortran 77โดย Donald M. Monro
บทนำ
เครื่องพล็อตดิจิตอลถูกนำมาใช้กันอย่างแพร่หลายในการผลิตภาพวาดกราฟและผลภาพอื่น ๆ เครื่องส่วนใหญ่สามารถเลื่อนปากกาได้ในบางทิศทางโดยปกติจะเป็นขั้นตอนเดียวในทิศทาง X และ Y หรือทั้งสองอย่าง เครื่องทั่วไปจะเคลื่อนที่ในหนึ่งในแปดทิศทางที่แสดงในรูปที่ 1:
รูปที่ 1
ท้าทาย
เขียนโปรแกรมที่ไม่มีฟังก์ชันตรีโกณมิติซึ่งใช้ตัวเลขตั้งแต่ 0 ถึง 7 (รวม) เป็นอินพุตและเอาต์พุตพิกัดที่สอดคล้องกันของจุดปลายในรูปที่ 1
ผลลัพธ์ควรเป็นอาร์เรย์หรือรายการที่มีสององค์ประกอบ (เช่น(1, 0)หรือ[0,-1])
ตาราง I / O
0 (1, 0)
1 (1, 1)
2 (0, 1)
3 (-1, 1)
4 (-1, 0)
5 (-1, -1)
6 (0, -1)
7 (1, -1)
การชนะ
รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ
cos, sin, tan, secและอื่น ๆ
rotate(x)ฟังก์ชั่นนับเป็นฟังก์ชั่นตรีโกณมิติ? (มันแค่หมุน "ผ้าใบ" โดยxเรเดียน)