Di New Modern Times , ketika Charlie Chaplin menemukan komputer, ia dipekerjakan di Yard pemilahan, sebagai validator untuk menentukan apakah para pekerja menyortir barang dengan benar. Item yang dimaksud adalah paket kelereng. Paket dengan jumlah Ganjil Kelereng ditumpuk di Keranjang Merah dan Paket dengan Ganjil Jumlah Kelereng ditumpuk di Keranjang Biru.
Charlie Chaplin seharusnya membuat program yang akan memvalidasi jika ada anomali dalam prosedur penyortiran. Mack Swain, bos langsungnya, membagikan algoritma yang dia perlu kode.
Algoritma
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²)
Tugasnya adalah menentukan Check_Digit dan mencocokkannya dengan nilai apa pun yang diperhitungkan bosnya.
Charlie Chaplin selama jam makan siangnya, dapat menyelinap ke laci Mack Swain dan menentukan, bahwa laci itu memiliki kartu tunggal dengan pukulan pada 46 32 kolom pertama (yang berarti Mack mampu menulis sebuah program dengan hanya 46 32 karakter).
Charlie Chaplin sekarang membutuhkan bantuan semua ninja kode untuk menulis sebuah program dengan sesedikit mungkin baris. Dia juga mengumumkan bonus 50 poin, jika seseorang dapat membuat program yang lebih pendek dari bosnya.
Ringkasan
Diberikan daftar / larik / vektor angka positif (ganjil dan genap), Anda perlu menulis fungsi, yang akan menerima array(int [])/vector<int>/list
dan menghitung akar dari jumlah kuadrat dari jumlah ganjil dan genap dalam daftar.
Ukuran program adalah ukuran tubuh fungsi, yaitu tidak termasuk ukuran tanda tangan fungsi.
Contoh
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
Catatan , output aktual mungkin bervariasi berdasarkan presisi floating point implementasi.
Skor
Skor dihitung sebagai Skor dihitung sebagai Σ(Characters in your Program) - 46
. Σ(Characters in your Program) - 32
. Terlepas dari upvoting reguler dari komunitas, skor negatif terendah akan menerima bonus tambahan 50 poin.
Edit
- Offset yang digunakan untuk menghitung Skor telah diubah dari 46 menjadi 32. Catatan, ini tidak akan memengaruhi kelayakan dewan pimpinan / karunia atau membatalkan solusi apa pun.
Putusan
Setelah duel mengerikan antara para Ninja, Tuan Chaplin menerima beberapa jawaban indah. Sayangnya beberapa jawaban mencoba mengambil keuntungan dari aturan yang tidak semestinya dan tidak terlalu berguna. Dia benar-benar menginginkan duel yang adil dan jawaban di mana logika dikodekan dalam tanda tangan fungsi pada akhirnya akan berarti tanda tangan fungsi adalah bagian integral dari solusi. Akhirnya, Ninja FireFly adalah pemenang yang jelas dan memberinya bonus yang layak diterimanya. Papan (diperbarui setiap hari)
╒══════╤═════════════════╤══════════════╤═════════╤════════╤═══════╕
├ 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 │
└──────┴─────────────────┴──────────────┴─────────┴────────┴───────┘