ให้รายชื่อประชากรของแต่ละรัฐเอาท์พุทจากมากไปน้อยที่สุดจำนวนคะแนนที่รัฐได้รับในการเลือกตั้งวิทยาลัย
อินพุต:หมายเลขแรกหมายถึงจำนวนคะแนนรวมที่จะแจกจ่าย ตามด้วยรายการและประชากร ในตัวอย่างนี้ใช้ตัวย่อสำหรับสถานะ แต่สามารถใช้ชื่อใดก็ได้ที่มีตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก คุณสามารถทำสิ่งนี้ในรูปแบบใดก็ได้ที่คุณต้องการตราบใดที่มีข้อมูลเพียงอย่างเดียวคือตัวย่อของรัฐและจำนวนประชากร
อินพุตอาจถูกใช้เป็นอาร์กิวเมนต์ของฟังก์ชันหรือวิธีการใด ๆ ที่คุณต้องการ
ตัวอย่างอินพุต (เป็นไปได้): 538 [[CA 38000000], [NH 1300000] etc.]
เอาต์พุต:เอาต์พุตในบางรูปแบบจำนวนคะแนนโหวตที่แต่ละรัฐได้รับ สั่งซื้อรัฐจากมากไปน้อย หากทั้งสองรัฐมีคะแนนเสียงเท่ากันให้เรียงตามชื่อที่จะมาเป็นอันดับแรกในพจนานุกรม
ก่อนค้นหาจำนวนคะแนนเสียงให้ตรวจสอบก่อนว่ามีสถานะชื่อ DC ในรายการอินพุตหรือไม่และถ้ามีให้โหวต 3 รัฐโดยไม่คำนึงถึงประชากร จากนั้นลบออกจากรายการและกำหนดคะแนนเสียงที่เหลือราวกับว่า DC ไม่มีอยู่
จำนวนคะแนนในวิทยาลัยการเลือกตั้งถูกกำหนดให้เป็นผลรวมของจำนวนสมาชิกวุฒิสภาและผู้แทน ทุกรัฐจะได้วุฒิสมาชิกสองคนดังนั้นให้ลบจำนวนสถานะจากสองรัฐทั้งหมด (538 ในตัวอย่างอินพุต) เพื่อรับจำนวนราษฎร มอบหมายให้ทุก ๆ รัฐเริ่มแทน จากนั้นทำตามขั้นตอนต่อไปนี้:
กำหนดหมายเลขของแต่ละรัฐ
Aโดยกำหนดว่าจะP/sqrt(2)อยู่ที่ไหนPในประชากรAเรียงรัฐให้เป็นไปตามค่าของพวกเขากำหนดสถานะแรก (สถานะที่ใหญ่ที่สุด
A) อีกหนึ่งตัวแทนค่ามอบหมายของ
Aเป็นA = P/(sqrt(n)*sqrt(n + 1))ที่nเป็นจำนวนปัจจุบันของตัวแทนที่ได้รับมอบหมายให้กับรัฐกลับไปที่ขั้นตอนที่ 2 ทำซ้ำจนกว่าตัวแทนทั้งหมดจะหมด
ตัวอย่าง (เป็นไปได้) {CA: 518, NH: 20}เอาท์พุท: ผลลัพธ์ไม่จำเป็นต้องอยู่ในรูปแบบนี้ แต่ต้องมีข้อมูลเดียวกัน
โปรดทราบว่าหากไม่สามารถกำหนดคะแนนเสียงได้อย่างถูกกฎหมายเพราะมีคะแนนเสียงน้อยกว่า3*(# of states)ให้พิมพ์สิ่งที่คุณต้องการ คุณสามารถล้มเหลวโยนข้อผิดพลาด ฯลฯ
กรณีทดสอบ:
538 [['CA' 38000000], ['NH' 1300000]] --> CA: 518, NH: 20
538 [['NH' 1300000], ['CA' 38000000]] --> CA: 518, NH: 20 (must be in order from greatest to least!)
538 [['DC' 1000000], ['RH' 1]] --> RH: 535, DC: 3
100 [['A', 12], ['B', 8], ['C', 3]] --> A: 51, B: 35, C: 14
100 [['A', 12], ['B', 8], ['C', 3], ['D', 0]]: --> [49, 34, 14, 3] (yes, even states with no population get votes)
2 [['A', 1]] --> aasdfksjd;gjhkasldfj2fkdhgas (possible output)
12 [['A', 1], ['B', 2], ['C', 3], ['D', 4]] --> A: 3, B: 3, C: 3, D: 3
42 [['K', 123], ['L', 456], ['M', 789]] --> M: 23, L: 14, K: 5
420 [['K', 123], ['L', 456], ['M', 789]] --> M: 241, L: 140, K: 39
135 [['C', 236841], ['D', 55540], ['G', 70835], ['K', 68705], ['M', 278514], ['Ms', 475327], ['Nh', 141822], ['Nj', 179570], ['Ny', 331589], ['Nc', 353523], ['P', 432879], ['R', 68446], ['Sc', 206236], ['Ve', 85533], ['Vi', 630560]] --> Vi: 20, Ms: 16, P: 14, Nc: 12, Ny: 12, M: 10, C: 9, Sc: 8, Nj: 7, Nh: 6, Ve: 5, D: 4, G: 4, K: 4, R: 4
Aเป็นA = P/(sqrt(n)*sqrt(n + 1))ซึ่งnเป็นจำนวนสมาชิกปัจจุบันที่กำหนดให้กับรัฐ" ควรจะเปลี่ยนไปเป็น "ค่าของมอบหมายAเป็นA = P/(sqrt(n)*sqrt(n + 1))ที่nเป็นจำนวนปัจจุบันของตัวแทนที่ได้รับมอบหมายให้กับรัฐ." ที่โยนฉันออกไป