Notwen ต้องการศึกษาจลนศาสตร์ของร่างกายที่ถูกโยนออกมาจากที่สูงในเขตความโน้มถ่วงที่สม่ำเสมอ แต่น่าเสียดายที่เขาไม่มีความเป็นไปได้ทางเทคนิคที่จะไปยังที่สูงพอและสังเกตวัตถุในขณะที่ตกลงมา แต่ใครไม่ต้องการเห็นความก้าวหน้าทางวิทยาศาสตร์ดังนั้น ... มาช่วย Notwen สร้างเครื่องมือจำลองแรงโน้มถ่วง!
พื้นหลังทางกายภาพ
วัตถุตกจากที่สูง ( ไม่มีความเร็วเริ่มต้น ) ในเขตความโน้มถ่วงสม่ำเสมอผลกระทบทางบรรยากาศเช่นการลากหรือลมจะเพิ่มความเร็วและความเร็วขึ้นสู่พื้นดินตามเวลา "อัตราการเปลี่ยนแปลง" ของความเร็วในหน่วยเวลานี้เรียกว่าการเร่งความเร็วด้วยแรงโน้มถ่วง ใกล้พื้นผิวโลกมันมีค่าเท่ากับแต่สำหรับจุดประสงค์ของการท้าทายนี้เราจะใช้ค่าซึ่งหมายความว่าในวินาทีเดียววัตถุเพิ่มความเร็วประมาณ{s} ลองพิจารณาความสูงซึ่งเป็นผลคูณของ100mแล้วจินตนาการถึงการหารความสูงนั้นเป็นระยะเท่ากันละ100เมตรยาว Notwen ต้องการวัดระยะเวลาที่วัตถุจะตกในแต่ละช่วงเวลาดังนั้นนั่นคือสิ่งที่เรามุ่งหวังที่จะคำนวณเช่นกัน จลนศาสตร์สมัยใหม่- การกระโดดข้ามเทคนิค - บอกเราว่า:
โดยที่สำหรับค่าทั้งหมดของในกรณีของเราเป็นค่าเริ่มต้น ความเร็วที่จุดเริ่มต้นของช่วงและคือช่วงเวลาของช่วงเวลาk ^ \ text {th} (สำหรับการอ้างอิงการทำดัชนีเริ่มต้นที่0ด้วยv_0 = 0 ) เรายังรู้ว่าv_kมีนิพจน์ดังต่อไปนี้:
ความท้าทาย
อินพุต:ความสูงจากวัตถุที่ถูกโยนเช่น: จำนวนเต็มบวกจำนวน ,หรือจำนวนช่วงเวลา (เช่นหรือจะหมายถึง ) - อันไหนขึ้นอยู่กับคุณ
เอาต์พุต:ภาพเคลื่อนไหว ASCII ศิลปะของวัตถุที่ตกลงมาลดลงจากความสูง (รายละเอียดด้านล่าง)
โครงสร้างของเฟรมเอาต์พุตต้องเป็นดังนี้:
- บรรทัดใหม่ก่อนหน้า "กราวด์" ซึ่งมีอักขระที่ไม่ใช่ช่องว่างอย่างน้อยหนึ่งตัว (เช่น
@
) อย่างน้อยหนึ่งตัวละครของพื้นดินจะต้องอยู่ในแนวดิ่งที่วัตถุนั้นตกลงมา - อักขระที่ไม่ใช่ช่องว่างอื่นที่แสดงถึงวัตถุ (เช่น
X
) นอกเหนือจากอักขระที่คุณเลือกสำหรับพื้น - เป็นตัวเลือกอักขระที่จุดเริ่มต้นของแต่ละบรรทัดที่แสดงถึงแกนตั้งหรือผนังที่ทำบนเส้นจำนวนช่องว่างนำหน้าและต่อท้ายจะปรับได้ตราบใดที่มีความสอดคล้องกันระหว่างเฟรมรวมถึงจำนวนช่องว่างระหว่างผนังและวัตถุ ตัวอย่างของเฟรมที่ถูกต้องประกอบด้วย1 (สำหรับหรือ ):
| X > | @ > A | > | or or or > | O > | > | > @@@ ^ ----- &&&
วัตถุต้องเริ่มต้นที่บรรทัดแรกของเฟรมแรกจากนั้นหลังจากเอาต์พุตควรถูกล้างออกและโปรแกรมของคุณควรแสดงวัตถุในแนวตั้งเดียวกัน แต่อยู่ในบรรทัดถัดไปในเฟรมที่สอง จากนั้นหลังจากผลลัพธ์ควรถูกล้างอีกครั้งและโปรแกรมของคุณควรแสดงวัตถุในแนวตั้งเดียวกัน แต่ในบรรทัดถัดไปในกรอบที่สามเป็นต้นไปจนกว่าวัตถุจะถึงเส้นที่อยู่เหนือพื้นดิน ตัวอย่าง:
กฎระเบียบ
- เอาต์พุตควรเป็นข้อความที่เขียนไปยังคอนโซลแบบโต้ตอบ (flushable), GIF, ไฟล์แยกต่างหากสำหรับแต่ละเฟรมหรือเทคนิคอื่นที่เหมาะสมของเอาต์พุต
- แต่ละเฟรมควรเขียนทับเฟรมสุดท้ายอย่างสมบูรณ์และอยู่ในตำแหน่งเดียวกัน
- คุณสามารถสันนิษฐานได้ว่าเวลาที่ต้องใช้สำหรับคอมไพเลอร์ / ล่ามในการส่งออกข้อความนั้นเล็กน้อยและความแม่นยำขั้นต่ำที่อนุญาตสำหรับการคำนวณรากที่สองคือทศนิยม 2 ตำแหน่ง
- คุณสามารถรับอินพุตและให้เอาต์พุตผ่านวิธีการมาตรฐานใด ๆในขณะที่รับทราบว่าช่องโหว่เหล่านี้ถูกห้ามโดยค่าเริ่มต้น นี่คือรหัสกอล์ฟดังนั้นพยายามทำงานให้เสร็จอย่างน้อยไบต์ที่คุณสามารถจัดการในภาษาที่คุณเลือก
1: ฉันสุภาพเกี่ยวกับสิ่งที่ถือเป็นเฟรมที่ถูกต้องเพราะฉันต้องการให้สิ่งที่เหมาะกับโซลูชันของคุณที่สุดและฉันไม่ได้พยายามเพิ่มสิ่งที่เกินความจำเป็นให้กับความท้าทาย หากมีสิ่งใดไม่ชัดเจนให้ถามในความคิดเห็น
chr(27)
?