У Новий Новий час , коли Чарлі Чаплін стикається з комп’ютером, він працює в сортувальному дворі, як валідатор, щоб визначити, чи правильно сортують працівники предмети. Елементи, про які йдеться, - це пакети з мармуру. Пакети з непарною кількістю мармуру укладаються в червоний кошик, а пакети з парною кількістю мармуру укладаються в блакитний кошик.
Чарлі Чаплін повинен пробити програму, яка була б підтверджена, якщо є якась аномалія в процедурі сортування. Мак Суейн, його безпосередній бос, ділиться алгоритмом, який йому потрібно кодувати.
Алгоритм
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²)
Його робота полягає в тому, щоб визначити Check_Digit і співставити його з тим, що коли-небудь цінність його обчислює.
Чарлі Чаплін під час обідньої години зміг підкрастися до шухляди Мака Суейна і визначити, що його ящик має єдину карту з ударами на перших 46 32 колонах (а це означає, що Мак зміг написати програму з лише 46 32 символами).
Чарлі Чаплін тепер потребує допомоги всіх ніндзя коду, щоб написати програму якомога менше рядків. Він також оголошує бонус у 50 балів, якщо хтось може придумати програму, яка коротша, ніж його Бос.
Підсумок
З огляду на список / масив / вектор додатних чисел (непарних і парних), вам потрібно написати функцію, яка прийняла б array(int [])/vector<int>/list
і обчислила корінь суми квадратів сум нечетних і парних чисел у списку.
Розмір програми - це розмір тіла функції, тобто виключаючи розмір підпису функції.
Приклад
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
Зауважте , фактичний вихід може змінюватися залежно від точності плаваючої точки реалізації.
Оцінка
Оцінка обчислюється як Оцінка обчислюється як Σ(Characters in your Program) - 46
. Σ(Characters in your Program) - 32
. Окрім регулярних надходжень від громади, найнижча негативна оцінка отримала б додатковий бонус у 50 балів.
Редагувати
- Зсув, який було використано для підрахунку Оцінки, було змінено з 46 на 32. Зауважте, це не вплине на придатність лідерів / баунтів та не визнає рішення будь-яким рішенням.
Вирок
Після жахливого поєдинку між ніндзя містер Чаплін отримав кілька чудових відповідей. На жаль, мало хто з відповідей намагався невиправдано скористатися правилом і не був дуже корисним. Він насправді хотів справедливого поєдинку і відповів там, де логіка була закодована у підписах функції, врешті-решт означала б, що підпис функції є невід'ємною частиною рішення. Нарешті, Ninja FireFly став явним переможцем і присудив йому бонус, який він добре заслуговує. Табло (оновлюється щодня)
╒══════╤═════════════════╤══════════════╤═════════╤════════╤═══════╕
├ 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 │
└──────┴─────────────────┴──────────────┴─────────┴────────┴───────┘