In dieser Herausforderung bestimmen Sie, wie kontrovers eine Abstimmung bei einer Reihe anderer Stimmen ist, indem Sie eine Zahl ermitteln, die als C-Faktor bezeichnet wird. Was ist der C-Faktor?
Stellen Sie sich vor, Sie haben mehrere Stimmen bei einer Wahl. Wir werden 1
und 0
um der Herausforderung willen zwei verschiedene Kandidaten bei einer Wahl vertreten. Hier sind die zehn Stimmen bei unserer Beispielwahl:
0110111011
Angenommen, wir möchten den C-Faktor jeder Abstimmung für einen Kandidaten ermitteln 0
. Wir können das mit der folgenden Funktion tun:
In , ist die Abstimmung , die wir den C-Faktor für und bestimmen , wollen eine Reihe von Stimmen. Verwenden Sie also unsere Funktion, um den C-Faktor jeder Abstimmung für einen Kandidaten zu erhalten :o
v
0
Ein niedrigerer C-Faktor zeigt, dass die Abstimmung im Vergleich zu den anderen Stimmen weniger kontrovers war. Eine Abstimmung für einen Kandidaten unterscheidet sich 0
also stärker von den anderen Stimmen als eine Abstimmung für einen Kandidaten 1
. Im Vergleich dazu 1
beträgt der C-Faktor für eine Kandidatenstimme , daher ist er weniger kontrovers, da er eher den anderen Stimmen ähnelt.
Die Herausforderung
Schreiben Sie eine Funktion , um den C-Faktor einer Abstimmung bei gegebenen Abstimmungsergebnissen zu bestimmen .o
v
o
muss eine ganze Zahl sein, entweder0
oder1
.v
muss ein Array (oder ein ähnlicher Containertyp, abhängig von den Sprachspezifikationen) beliebiger Länge sein, das Nullen und Einsen enthält.Die Funktion sollte den resultierenden C-Faktor unter Berücksichtigung der Funktionsparameter unter Verwendung der obigen Formel oder einer modifizierten Methode zurückgeben oder an die Konsole drucken.
Viel Glück! Das kleinste Byte gewinnt (Gewinner in fünf Tagen ausgewählt).
abs(0 - 0.7)
gleich 0.3
?
mean(v)
in Ihrem Beispiel nicht gleich 0,7?