โจทย์
ดูต้นฉบับ (ภาษาอังกฤษ)สไปรัลที่ไม่มีที่สิ้นสุดนี้เริ่มต้นที่เซลล์มุมซ้ายบน ตัวอย่างสี่แถวและสี่คอลัมน์แรกแสดงดังด้านล่าง ให้ดำเนินรูปแบบเดิมต่อไปเป็นชั้นสี่เหลี่ยมจัตุรัสที่ขยายออกไป พิกัดเริ่มต้นที่ 1
1 2 9 10
4 3 8 11
5 6 7 12
16 15 14 13ให้คืนค่าของเซลล์เดียวโดยไม่ต้องสร้างกริดทั้งหมด
ให้เขียนฟังก์ชัน number_spiral(row, column)
อินพุต
row: หมายเลขแถว นับจากด้านบน เริ่มที่ 1
column: หมายเลขคอลัมน์ นับจากด้านซ้าย เริ่มที่ 1
เอาต์พุต
คืนค่าตัวเลขที่ตำแหน่งนั้น
เงื่อนไข
1 ≤ row, column ≤ 1,000,000,000. ค่าที่ได้จะอยู่ในช่วงของจำนวนเต็ม signed 64-bit
ตัวอย่าง
อินพุต:
row = 3
column = 2
ผลลัพธ์ที่คาดหวัง:
expected = 6
อินพุต:
long long row = 3;
long long column = 2;
ผลลัพธ์ที่คาดหวัง:
long long expected = 6;
อินพุต:
long row = 3;
long column = 2;
ผลลัพธ์ที่คาดหวัง:
long expected = 6;
คำอธิบาย
ในแถวที่สามที่แสดง ค่าในตำแหน่งที่สองคือ 6
อินพุต:
row = 1
column = 4
ผลลัพธ์ที่คาดหวัง:
expected = 10
อินพุต:
long long row = 1;
long long column = 4;
ผลลัพธ์ที่คาดหวัง:
long long expected = 10;
อินพุต:
long row = 1;
long column = 4;
ผลลัพธ์ที่คาดหวัง:
long expected = 10;
คำอธิบาย
ชั้นสี่เหลี่ยมจัตุรัสชั้นที่สี่เริ่มต้นที่ 10 ในแถวบนสุด
แหล่งอ้างอิง
โจทย์นี้ปรับให้เหมาะกับ CodeUtility กรุณาทำตามคำชี้แจงและข้อจำกัดด้านบน