ในความท้าทายนี้คุณจะได้รับสี่งานที่แตกต่างกัน แต่ค่อนข้างเกี่ยวข้องกับงานที่ต้องแก้ไขในลักษณะเฉพาะ ก่อนอื่นฉันจะอธิบายงานแล้วทำตามคำอธิบายว่าคุณต้องแก้ไขมันอย่างไร
รหัสของคุณควรสำหรับทุกสี่งานใช้เวลาสองจำนวนเต็มบวกเป็น input: ที่n,m
n<m
งานทั้งหมดจะต้องได้รับการแก้ไขในภาษาเดียวกัน การวางแนวของเมทริกซ์เป็นทางเลือก (n-by-m อาจถูกตีความว่าเป็น "n rows, คอลัมน์ m" หรือ "คอลัมน์ n, แถว m")
ภารกิจที่ 1:
สร้าง (และเอาท์พุท / พิมพ์) เวกเตอร์ / n, n+1 ... m-1, m
รายการประกอบด้วยองค์ประกอบ: ดังนั้นสำหรับคุณควรเอาท์พุท:n=4, m=9
4,5,6,7,8,9
ภารกิจที่ 2:
สร้าง (และเอาท์พุท / พิมพ์) เมทริกซ์ / อาร์เรย์ / รายการของรายการ (หรือเทียบเท่า) ที่มีลักษณะดังนี้:
n, n+1, ... m-1, m
n+1, n+2, ... m-1, m+1
...
n+m, n+m+1, ... 2*m-1, 2*m
สำหรับn=4, m=9
คุณควรส่งออก:
4, 5, 6, 7, 8, 9
5, 6, 7, 8, 9, 10
...
13, 14, 15, 16, 17, 18
ภารกิจ 3:
สร้าง (และเอาท์พุท / พิมพ์) ตารางสูตรคูณ n-by-m (ในรูปแบบที่เหมาะสม) ตัวอย่างสำหรับn=4, m=9
:
1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16
5 10 15 20
6 12 18 24
7 14 21 28
8 16 24 32
9 18 27 36
ภารกิจที่ 4:
เอาท์พุท / พิมพ์เวกเตอร์ / รายการที่ประกอบด้วยองค์ประกอบในตารางการคูณจากงาน 3 เรียงตามลำดับจากน้อยไปมากรักษาค่าที่ซ้ำกัน สำหรับn=4, m=9
คุณควรส่งออก: 1, 2, 2, 3, 3, 4, 4, 4, 5, 6, 6, 6, 7, 8, 8, 8, 9, 9, 10, 12, 12, 12, 14, 15, 16, 16, 18, 18, 20, 21, 24, 24, 27, 28, 32, 36
.
ความท้าทาย:
ตอนนี้งานทั้งหมดข้างต้นค่อนข้างเล็กน้อย ความท้าทายที่แท้จริงคือรหัสสำหรับภารกิจ 2 ต้องเริ่มต้นด้วยรหัสสำหรับภารกิจที่ 1 รหัสสำหรับภารกิจที่ 3 ต้องเริ่มต้นด้วยรหัสสำหรับภารกิจที่ 2 และรหัสสำหรับภารกิจที่ 2 จะต้องเริ่มต้นด้วยรหัสสำหรับภารกิจที่ 3
วิธีทำให้ชัดเจนยิ่งขึ้น:
สมมติว่ารหัสสำหรับภารกิจที่ 1คือ (ทำงานในระดับแปดเสียง):
@(n,m)(n:m)
จากนั้นโค้ดสำหรับงาน 2 ของคุณอาจเป็น (ทำงานในระดับแปดเสียง):
@(n,m)(n:m)+(0:m)'
รหัสสำหรับภารกิจที่3จะต้องเป็น (ไม่ทำงานในระดับแปดเสียง):
@(n,m)(n:m)+(0:m)'"Code_for_task_3"
และสุดท้ายรหัสสำหรับภารกิจที่ 4จะต้องเป็น (ไม่ทำงานในระดับแปดเสียง):
@(n,m)(n:m)+(0:m)'"Code_for_task_3""Code_for_task_4"
นี่คือรหัสกอล์ฟดังนั้นการส่งพร้อมรหัสที่สั้นที่สุดสำหรับภารกิจ 4 ในแต่ละภาษาจะชนะ เช่นเคย: คำอธิบายได้รับการสนับสนุนอย่างมาก
0<n<m
หรือ0<=n<m
?
>2;
เพื่อให้รหัสงานก่อนหน้านี้ไม่มีการใช้งานจริงหรือไม่