ในการท้าทายนี้คุณจะพิจารณาว่าการลงคะแนนเสียงเป็นอย่างไรให้คะแนนแบบอื่นโดยการหาตัวเลขที่เรียกว่า C-factor C-factor คืออะไรคุณถาม?
ลองจินตนาการว่าคุณได้รับการโหวตหลายครั้งจากการเลือกตั้ง เราจะใช้1
และ0
เพื่อความท้าทายในการเป็นตัวแทนผู้สมัครที่แตกต่างกันสองคนในการเลือกตั้ง นี่คือสิบคะแนนโหวตในการเลือกตั้งตัวอย่างของเรา:
0110111011
ตอนนี้บอกว่าเราต้องการที่จะหา C-ปัจจัยการโหวตใด ๆ 0
สำหรับผู้สมัคร เราสามารถทำได้ด้วยฟังก์ชั่นต่อไปนี้:
ใน , o
เป็นคะแนนเสียงที่เราต้องการที่จะตรวจสอบ C-ปัจจัยและv
เป็นอาร์เรย์ของคะแนนเสียง ดังนั้นโดยใช้ฟังก์ชั่นของเราเพื่อรับ C-factor ของการโหวตสำหรับผู้สมัคร0
:
C-factor ที่ต่ำกว่าแสดงให้เห็นว่าการโหวตนั้นมีความขัดแย้งน้อยกว่าเมื่อเปรียบเทียบกับการโหวตอื่น ๆ ดังนั้นการลงคะแนนเสียงให้ผู้สมัคร0
มีมากขึ้นแตกต่างจากคะแนนโหวตอื่น ๆ 1
นอกเหนือจากการลงคะแนนสำหรับผู้สมัคร ในการเปรียบเทียบปัจจัย C สำหรับการ1
ลงคะแนนเสียงของผู้สมัครคือดังนั้นจึงเป็นเรื่องที่ถกเถียงกันน้อยลงเพราะมันเหมือนกับการโหวตอื่น
ความท้าทาย
เขียนฟังก์ชั่นในการกำหนด C-ปัจจัยของการลงคะแนนผลการได้รับการโหวตo
v
o
ต้องเป็นจำนวนเต็มทั้งหรือ0
1
v
จะต้องเป็นอาร์เรย์ (หรือประเภทภาชนะที่คล้ายกันขึ้นอยู่กับข้อกำหนดของภาษา) ของความยาวโดยพลการที่มีศูนย์และคนฟังก์ชั่นควรส่งคืนหรือพิมพ์ไปยังคอนโซลด้วยผลลัพธ์ C-factor ที่กำหนดพารามิเตอร์ของฟังก์ชันโดยใช้สูตรด้านบนหรือวิธีการแก้ไข
โชคดี! ไบต์ที่น้อยที่สุดชนะ (เลือกผู้ชนะในห้าวัน)
abs(0 - 0.7)
เท่ากับ0.3
?
mean(v)
ในตัวอย่างของคุณไม่เท่ากับ 0.7 ใช่ไหม