In der Neuen Moderne wird Charlie Chaplin, wenn er auf einen Computer stößt, im Sortierhof als Prüfer eingesetzt, um festzustellen, ob die Arbeiter die Gegenstände richtig sortieren. Bei den fraglichen Gegenständen handelt es sich um Murmelpakete. Pakete mit einer ungeraden Anzahl von Murmeln werden im roten Korb und Pakete mit einer geraden Anzahl von Murmeln im blauen Korb gestapelt.
Charlie Chaplin soll das Programm lochen , das überprüft, ob eine Anomalie im Sortiervorgang vorliegt. Mack Swain, sein direkter Chef, teilt einen Algorithmus, den er zum Codieren benötigt.
Algorithmus
L = List of Marble packets that's already sorted
L_ODD = List of packets with Odd Number of Marbles
L_EVEN = List of packets with Even Number of Marbles
Check_Digit = √(ΣL_ODD² + ΣL_EVEN²)
Seine Aufgabe ist es, die Check_Digit zu bestimmen und mit dem Wert abzugleichen, den sein Chef berechnet.
Charlie Chaplin konnte sich während seiner Mittagspause an Mack Swains Schublade schleichen und feststellen, dass seine Schublade eine einzige Karte mit Stempeln in den ersten 46 32 Spalten enthält (was bedeutet, dass Mack ein Programm mit nur 46 32 Zeichen schreiben konnte ).
Charlie Chaplin würde jetzt die Hilfe aller Code-Ninjas benötigen, um ein Programm mit möglichst wenigen Zeilen zu schreiben. Er kündigt auch einen Bonus von 50 Punkten an, wenn jemand ein Programm entwickeln kann, das kürzer ist als sein Chef.
Zusammenfassung
Wenn Sie eine Liste / ein Array / einen Vektor positiver Zahlen (ungerade und gerade) haben, müssen Sie eine Funktion schreiben, die array(int [])/vector<int>/list
die Wurzel der Summe der Quadrate der Summen ungerader und gerader Zahlen in der Liste akzeptiert und berechnet.
Die Größe des Programms ist die Größe des Hauptteils der Funktion, dh ohne die Größe der Funktionssignatur.
Beispiel
List = [20, 9, 4, 5, 5, 5, 15, 17, 20, 9]
Odd = [9, 5, 5, 5, 15, 17, 9]
Even = [20, 4, 20]
Check_Digit = √(ΣOdd² + ΣEven²) = 78.49203781276162
Beachten Sie , dass die tatsächliche Ausgabe abhängig von der Gleitkommapräzision der Implementierung variieren kann.
Ergebnis
Punktzahl wird berechnet als Punktzahl wird berechnet als Σ(Characters in your Program) - 46
. Σ(Characters in your Program) - 32
. Abgesehen von den regelmäßigen Abstimmungen der Community, würde die niedrigste negative Punktzahl einen zusätzlichen Bonus von 50 Punkten erhalten.
Bearbeiten
- Der Versatz, der zum Berechnen des Ergebnisses verwendet wurde, wurde von 46 auf 32 geändert. Beachten Sie, dass dies keine Auswirkung auf die Ranglisten- / Kopfgeldberechtigung hat oder eine Lösung ungültig macht.
Urteil
Nach einem grausamen Duell zwischen den Ninjas erhielt Herr Chaplin einige wundervolle Antworten. Leider versuchten nur wenige Antworten, die Regel unangemessen auszunutzen, und waren nicht sehr nützlich. Eigentlich wollte er ein faires Duell und Antworten, bei denen die Logik innerhalb der Funktionssignaturen kodiert wurde, würden schließlich bedeuten, dass die Funktionssignatur ein integraler Bestandteil der Lösung ist. Schließlich war Ninja FireFly der klare Gewinner und verlieh ihm den Bonus, den er verdient hat. Leaderboard (täglich aktualisiert)
╒══════╤═════════════════╤══════════════╤═════════╤════════╤═══════╕
├ Rank │ Ninja │ Dialect │ Punches │ Scores │ Votes ┤
╞══════╪═════════════════╪══════════════╪═════════╪════════╪═══════╡
│ 0 │ FireFly │ J │ 17 │ -15 │ 6 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 1 │ tmartin │ Kona │ 22 │ -10 │ 2 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 2 │ Sven Hohenstein │ R │ 24 │ -8 │ 7 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 3 │ Ben Reich │ GolfScript │ 30 │ -2 │ 1 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 4 │ mollmerx │ k │ 31 │ -1 │ 0 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 5 │ David Carraher │ Mathematica │ 31 │ -1 │ 3 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 6 │ tmartin │ Q │ 34 │ 2 │ 1 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 7 │ daniero │ dc │ 35 │ 3 │ 1 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 8 │ psion5mx │ Python │ 38 │ 6 │ 2 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 9 │ O-I │ Ruby │ 39 │ 7 │ 5 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 10 │ gggg │ Julia │ 40 │ 8 │ 1 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 11 │ FakeRainBrigand │ LiveScript │ 50 │ 18 │ 0 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 12 │ Sylwester │ Perl5 │ 50 │ 18 │ 2 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 13 │ daniero │ Ruby │ 55 │ 23 │ 1 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 14 │ vasuakeel │ Coffeescript │ 57 │ 25 │ 1 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 15 │ dirkk │ XQuery │ 63 │ 31 │ 0 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 16 │ crazedgremlin │ Haskell │ 64 │ 32 │ 0 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 17 │ Uri Agassi │ Ruby │ 66 │ 34 │ 1 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 18 │ Sumedh │ JAVA │ 67 │ 35 │ 0 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 19 │ Danny │ Javascript │ 67 │ 35 │ 0 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 20 │ deroby │ c# │ 69 │ 37 │ 1 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 21 │ Adam Speight │ VB │ 70 │ 38 │ 0 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 22 │ Andrakis │ Erlang │ 82 │ 50 │ 0 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 23 │ Sp0T │ PHP │ 85 │ 53 │ 0 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 24 │ brendanb │ Clojure │ 87 │ 55 │ 0 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 25 │ Merin Nakarmi │ C# │ 174 │ 142 │ 0 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 26 │ Boopathi │ JAVA │ 517 │ 485 │ 0 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 27 │ Noyo │ ES6 │ ? │ ? │ 2 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 28 │ shiona │ Haskell │ ? │ ? │ 0 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 29 │ Vivek │ int │ ? │ ? │ 0 │
└──────┴─────────────────┴──────────────┴─────────┴────────┴───────┘