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 1und 0um 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 :ov0
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 0also stärker von den anderen Stimmen als eine Abstimmung für einen Kandidaten 1. Im Vergleich dazu 1beträ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 .ov
omuss eine ganze Zahl sein, entweder0oder1.vmuss 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?