สมมติว่าเรามีอาร์เรย์ที่เรียกว่า nums เราต้องตรวจสอบว่าอาร์เรย์มีองค์ประกอบที่มีค่าเท่ากับผลคูณขององค์ประกอบอื่นๆ ทั้งหมดหรือไม่
ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[3,2,24,4,1] ผลลัพธ์จะเป็น True, 24 =(3*2*4*1)
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- mul :=1
- สำหรับฉันในช่วง 0 ถึงขนาดของ nums - 1 ทำ
- mul :=mul * nums[i]
- สำหรับฉันในช่วง 0 ถึงขนาดของ nums - 1 ทำ
- ถ้า nums[i] เหมือนกับ (mul / nums[i]) แล้ว
- คืนค่า True
- ถ้า nums[i] เหมือนกับ (mul / nums[i]) แล้ว
- คืนค่าเท็จ
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
โค้ดตัวอย่าง
def solve(nums): mul = 1 for i in range(len(nums)): mul *= nums[i] for i in range(len(nums)): if nums[i] == mul / nums[i]: return True return False nums = [3,2,24,4,1] print(solve(nums))
อินพุต
[3,2,24,4,1]
ผลลัพธ์
True