เขียนโปรแกรมหรือฟังก์ชั่นที่รับอินพุต: ตัวต้านทานทั้งหมดที่มีและค่าความต้านทานและเอาท์พุทเป็นค่าความจริงว่าเป็นไปได้หรือไม่ที่จะได้ความต้านทานโดยใช้ตัวต้านทานเหล่านั้น
กฎ:
รูปแบบใด ๆ สำหรับการป้อนข้อมูลจะทำ
จะมีตัวต้านทานอย่างน้อย 1 ตัวและโปรแกรมของคุณควรจะออกตัวต้านทานอย่างน้อย 10 ตัว
ความต้านทานของตัวต้านทานที่มีอยู่ทั้งหมดและความต้านทานที่ต้องการจะเป็นจำนวนเต็มบวก
สำหรับตัวต้านทานที่มีหากค่าเศษส่วนเป็นไปได้ความต้านทานที่ต้องการอาจเป็นค่าโดยประมาณ (ดูตัวอย่าง)
เอาต์พุตควรเป็นค่าเฉพาะ 2 ค่าสำหรับค่าที่เป็นไปได้และค่าที่เป็นไปไม่ได้
ตัวต้านทานอาจเชื่อมต่อในลักษณะใด ๆ
ความต้านทานอนุกรม : สำหรับความต้านทาน n ในซีรีย์: ผล = R1 + R2 + R3 + .... Rn
ความต้านทานแบบขนาน : สำหรับความต้านทาน n แบบขนาน: ผล = 1 / (1 / R1 + 1 / R2 + 1 / R3 + .... + 1 / Rn)
วงจรอาจไม่ต้องการตัวต้านทานทั้งหมดเพื่อให้ได้ค่าความต้านทานที่ต้องการ (เอาต์พุตเป็น True หากเป็นกรณีนี้)
ผู้ชนะ:
นี่คือรหัส - กอล์ฟเพื่อให้ได้รหัสที่สั้นที่สุด
ตัวอย่าง:
R List
110 220,220 -> True
440 220,220 -> True
550 400,300 -> False
3000 1000,3000 -> True
750 1000,3000 -> True
333 1000,1000,1000 -> True (1000||1000||1000=333.333)
667 1000,1000,1000 -> True ((1000+1000)||1000=666.6666)
8000 1000,1000,7000 -> True
190 100,200,333,344,221 -> True
193 105,200,333,344,221 -> True
400 200,100 -> False
คำอธิบายสำหรับสองตัวอย่างล่าสุด: /physics/22252/resistor-circuit-that-isnt-parallel-or-series
3 3 1
,3 3 2
?