Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมหาตำแหน่งเหตุการณ์แรกของบรรทัด l ของสามเหลี่ยมตัวเลขใน Python


สมมติว่าเรากำลังสร้างสามเหลี่ยมจำนวนดังต่อไปนี้

      1
    1 1 1
  1 2 3 2 1
1 3 6 7 6 3 1

โดยในแต่ละแถวองค์ประกอบจะถูกสร้างขึ้นโดยการเพิ่มตัวเลขสามตัวไว้ด้านบน ทีนี้ถ้าเรามีหมายเลขบรรทัด l เราต้องหาตำแหน่งของเลขคู่แรกของเส้นนั้น ค่าตำแหน่งเริ่มต้นจาก 1

ดังนั้น หากอินพุตเป็น l =5 ผลลัพธ์จะเป็น 2

           1
        1  1  1
     1  2  3  2  1
  1  3  6  7  6  3 1
1 4 10 16 19 16 10 4 1

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • ถ้า l เหมือนกับ 1 หรือ l เหมือนกับ 2 แล้ว
    • คืน -1
  • มิฉะนั้นเมื่อ l mod 2 เหมือนกับ 0 แล้ว
    • ถ้า l mod 4 เหมือนกับ 0 แล้ว
      • คืน 3
    • มิฉะนั้น
      • คืน 4
  • มิฉะนั้น
    • คืน 2

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

def solve(l):
   if l == 1 or l == 2 :
      return -1
   elif l % 2 == 0:
      if l % 4 == 0:
         return 3
      else:
         return 4
   else:
      return 2

l = 5
print(solve(l))

อินพุต

5

ผลลัพธ์

2