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

โปรแกรมตรวจสอบเราสามารถสร้างความก้าวหน้าทางคณิตศาสตร์จากลำดับใน Python


สมมติว่าเรามีรายการหมายเลขที่เรียกว่า nums เราต้องตรวจสอบว่าองค์ประกอบที่มีอยู่ใน nums กำลังสร้างซีรี่ส์ AP หรือไม่ ดังที่เราทราบในอนุกรม AP (ความก้าวหน้าทางคณิตศาสตร์) ความแตกต่างทั่วไประหว่างสององค์ประกอบที่ต่อเนื่องกันจะเหมือนกัน

ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[9,1,17,5,13] ผลลัพธ์จะเป็น True เพราะหากเราจัดเรียงมัน มันจะเป็น [1,5,9,13,17] และส่วนรวม ความแตกต่างคือ 4 สำหรับองค์ประกอบแต่ละคู่

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

  • nums :=เรียงลำดับรายการ nums

  • ถ้าจำนวนขององค์ประกอบใน nums> 1 แล้ว

    • const :=nums[1] - nums[0]

  • มิฉะนั้น

    • คืนค่า True

  • สำหรับฉันในช่วง 0 ถึงขนาดของ nums -1 ทำ

    • ถ้า nums[i+1] - nums[i] ไม่เหมือนกับ const แล้ว

      • คืนค่าเท็จ

  • คืนค่า True

ตัวอย่าง (Python)

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

def solve(nums):
   nums = sorted(nums)

   if len(nums) > 1:
      const = nums[1] - nums[0]
   else:
      return True
   for i in range(len(nums)-1):
      if nums[i+1] - nums[i] != const:
         return False
   return True

nums = [9,1,17,5,13]
print(solve(nums))

อินพุต

[9,1,17,5,13]

ผลลัพธ์

True