15
ABAA / ABBB: สร้างรูปแบบ 2D แบบเรียกซ้ำ
ฉันยุ่งกับเครือข่ายตัวต้านทานที่ไม่มีที่สิ้นสุด (เรื่องยาว) เมื่อฉันเจอรูปแบบการเรียกซ้ำที่น่าสนใจต่อไปนี้: |-|| |--- ตัวอย่างของรูปแบบนี้มีความกว้างเป็นสองเท่าของความสูง หากต้องการเปลี่ยนจากรูปแบบหนึ่งไปยังอีกระดับคุณจะแบ่งสี่เหลี่ยมนี้ออกเป็นบล็อกย่อยสองบล็อก (ซึ่งแต่ละรูปนั้นเป็นสี่เหลี่ยมจัตุรัส NxN): AB = |-|| |--- so A = |- |- and B = || -- แบ่งครึ่งเหล่านี้แล้วทำซ้ำและจัดเรียงใหม่ตามรูปแบบต่อไปนี้: ABAA ABBB giving |-|||-|- |---|-|- |-|||||| |------- ท้าทาย เขียนโปรแกรม / ฟังก์ชั่นซึ่งให้ตัวเลขNผลลัพธ์ที่Nซ้ำของการออกแบบซ้ำนี้ นี่คือกอล์ฟ รูปแบบ I / O นั้นค่อนข้างผ่อนปรน: คุณอาจส่งคืนสตริงเดี่ยวรายการของสตริงอาเรย์สองมิติของตัวละคร ฯลฯ อนุญาตให้ใช้ช่องว่างที่ต่อท้ายได้ตามอำเภอใจ คุณอาจใช้การจัดทำดัชนี 0 หรือ 1 ก็ได้ ตัวอย่าง …