Đưa ra một danh sách các quần thể của mỗi tiểu bang, sản lượng, từ lớn nhất đến ít nhất, số phiếu mà tiểu bang nhận được trong trường đại học bầu cử.
Đầu vào: Số đầu tiên thể hiện tổng số phiếu bầu cần phân phối; nó được theo sau bởi một danh sách và dân số. Trong ví dụ này, chữ viết tắt cho các trạng thái được sử dụng, nhưng bất kỳ tên nào chứa chữ hoa và chữ thường đều có thể được sử dụng. Bạn có thể lấy cái này ở bất kỳ định dạng nào bạn thích, miễn là thông tin duy nhất có trong đó là chữ viết tắt của tiểu bang và dân số của nó.
Đầu vào có thể được lấy làm đối số cho hàm hoặc bất kỳ cách nào bạn muốn.
Ví dụ (có thể) đầu vào: 538 [[CA 38000000], [NH 1300000] etc.]
Đầu ra: Đầu ra, ở một số định dạng, số phiếu mỗi bang đạt được. Đặt hàng các tiểu bang từ lớn nhất đến ít nhất. Nếu hai tiểu bang có cùng số phiếu bầu, hãy đặt hàng theo tên nào sẽ đứng đầu trong từ điển (xuất hiện trước theo thứ tự bảng chữ cái).
Trước khi tìm thấy số phiếu, trước tiên hãy kiểm tra xem có một tiểu bang tên DC trong danh sách đầu vào không, và nếu có, hãy cho tiểu bang 3 phiếu, bất kể dân số của nó. Sau đó, xóa nó khỏi danh sách và chỉ định phần còn lại của phiếu bầu như thể DC không tồn tại.
Số phiếu trong trường đại học bầu cử được xác định là tổng số lượng thượng nghị sĩ và đại diện. Mỗi tiểu bang có hai thượng nghị sĩ, nên trừ hai lần số lượng trạng thái trong tổng số (538, trong ví dụ đầu vào) để có được số lượng đại diện. Chỉ định mỗi đại diện một tiểu bang để bắt đầu. Sau đó, thực hiện quy trình sau:
Chỉ định mỗi trạng thái một số
A, được xác định làP/sqrt(2)nơiPdân số.Sắp xếp các trạng thái theo giá trị của chúng
A.Chỉ định trạng thái đầu tiên (trạng thái lớn nhất
A) thêm một đại diện.Xác định lại các giá trị của
A, nhưA = P/(sqrt(n)*sqrt(n + 1)),nsố lượng đại diện hiện tại được gán cho nhà nước.Quay trở lại bước 2. Lặp lại cho đến khi tất cả các đại diện đã hết.
Ví dụ (có thể) đầu ra : {CA: 518, NH: 20}. Đầu ra không phải ở định dạng này, nhưng phải chứa cùng thông tin.
Lưu ý rằng nếu không thể chỉ định phiếu hợp pháp vì có ít hơn 3*(# of states)số phiếu, hãy in bất cứ điều gì bạn muốn. Bạn có thể gặp sự cố, ném lỗi, v.v.
Các trường hợp thử nghiệm:
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, nhưA = P/(sqrt(n)*sqrt(n + 1)),nsố lượng thành viên hiện tại được gán cho trạng thái". nên được thay đổi thành "Xác định lại các giá trị củaA, nhưA = P/(sqrt(n)*sqrt(n + 1)),nsố lượng đại diện hiện tại được gán cho nhà nước." Điều đó đã ném tôi đi.