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

โปรแกรมหาผลคูณของสามจำนวนที่ไม่ซ้ำกันใน Python

ให้ตัวเลข x, y, z หาผลคูณ แต่ถ้ามีค่าเท่ากัน 2 ตัวขึ้นไป ให้ไม่นำค่านั้นมาคูณ

ตัวอย่าง: 5, 4, 2 → 40 (ต่างกันหมด); 5, 5, 2 → 2 (5 ซ้ำกัน ไม่นับ)

อัลกอริธึม

  • ใช้ set เก็บค่าที่ไม่ซ้ำ: เพิ่มเข้า set ถ้ายังไม่มี, ถ้ามีแล้วใส่ใน set remove
  • คูณค่าที่เหลือใน set

การนำไปใช้

class Solution:
    def solve(self, x, y, z):
        temp_set = set()
        remove = set()
        for v in (x, y, z):
            if v in temp_set:
                remove.add(v)
            temp_set.add(v)
        for v in remove:
            temp_set.remove(v)
        result = 1
        for v in temp_set:
            result *= v
        return result

ob = Solution()
print(ob.solve(5, 4, 2))  # 40
print(ob.solve(5, 5, 2))  # 2