任天堂発のRubyおよびPython向け「Code Puzzle」 22
ストーリー by hylom
全然知らなかった 部門より
全然知らなかった 部門より
あるAnonymous Coward 曰く、
任天堂が2013年5月末に開催されていたRuby関連のイベント「RubyKaigi」にて「Code Puzzle」なるサイトを案内するチラシを配っていたそうだ(Rubyist Magazine)。
Code Puzzleは『広義の「パズル」を、プログラムを道具として使って解いていこう』というもので、RubyおよびPython向けに問題が出題されている。写真とコードだけで語られた謎解き問題を解いていく過程を楽しむもので、賞品や特典などはない。腕自慢の方は「とても難しい裏問題」にもチャレンジしてみては。
Rubyist Magazineによると、エンジニアに向けた任天堂の広報活動の1つとしてスタートしたものらしい。Python版は2012年9月のPyCon JPに向けて公開し、続いてRuby版が登場したという経緯だそうだ。ちなみに任天堂内ではPythonやRubyだけでなく、さまざまな言語が利用されているそうだ。
もっとやって欲しい。 (スコア:2)
こういう遊びが増えてくれると嬉しいですね。
で Python 版やってみた。
最初の問題、暗算だけで解くのは辛そう…だけど、何か方法あるのかなぁ。
Re:もっとやって欲しい。 (スコア:2)
自分はfor文で1から順に計算して解きました。
ダサいやり方だけど、「プログラムを道具として使って解く」だから正解でしょう。
Re:もっとやって欲しい。 (スコア:1)
Shellscriptで末尾&で並列起動させてごり押しで解いた
次のテストはPython知らないから飽きてやめた
C++ならやってた
Re:もっとやって欲しい。 (スコア:1)
剰余の定理使って解くと早い気がする。
最後の問題 (スコア:1)
とりあえず、最後の問題(Python版)まで辿り着きましたが……とっかかりが掴めず(^^;)
数学的に何か対処方法があるのかな?
Re:最後の問題 (スコア:1)
ちょっと取っ掛かりが見えてきました。
なるほど、この値を見ていけばいいいのか……。
Re:最後の問題 (スコア:1)
裏ルート、解けました~!
いや、これはなかなか楽しかった。
「なるほど、ここまでやっても復号される可能性があるのね」と勉強にもなりました。
Re: (スコア:0)
最後の問題って隠れた奴?
それとも更に次のヒントのほう?
Re:最後の問題 (スコア:1)
final_code.pyを実行する問題です。(final_hintの方は解けました)
ファイル名から勝手に最後と思い込んだだけで、実は最後ではないのかも(^^;)
どこかで見たことあるなーと思ったら (スコア:0)
一番目って暗号の解読だな。
Re: (スコア:0)
RSA ですよね
なんでrubyとpythonなんだよ。 (スコア:0)
コンパイル通すようになるまでがめんどくさい。
↓これだけでも泣きそう。パイプと[ ]の意味がわかれば初めのはできそうだ。
例えば、以下のスクリプトは10というIntegerクラスのオブジェクトのdowntoというインスタンスメソッドを呼び出し、10から1までを順番に標準出力へ出力します。
10.downto(1) {|i|
puts i
}
Re: (スコア:0)
あ、KEYの番号入れるだけで答え出た。
プログラムを追加していくと勘違いしてた。
こんな感じで解いていくわけね。
Re: (スコア:0)
かじったことあれば誰でも知ってるかと
てかスクリプト言語でコンパイルて
Re: (スコア:0)
自作のRuby、Pythonコンパイラを使っている可能性もなくはない
pythonの問題 (スコア:0)
second_codeの問題で、SimpleBarsTestのテストは全部OKでて
answerを出して入れてみたけどNGみたい。
他に何かあるのでしょうか?
import reとか関係しているのかな?
Re:pythonの問題 (スコア:1)
SimpleBarsが実装できたらあとは実行するだけです。
目的通りの仕様になっていなくともSimpleBarsTestは通ってしまう場合があるのかも。
ヒントに書かれている条件や、画像中のサンプルコードも確認してみてください。
Re: (スコア:0)
テスト以外に画像の図形もちゃんとでました。
・str() のカスタマイズ→ def __str__(self):
そういえばこれが意味不明で実装していないのを忘れていました。
ちょっと調べて見ます。
できました (スコア:0)
>>print(bs); bs.next()
サンプルコードではbs.next()にstringで返すようにしていましたが、
このアンサープログラムはbsも使っていているようでstrを作ればいけました。
ありがとうございます。
Re: (スコア:0)
MOONじゃなかったら間違い
Re: (スコア:0)
answer: 1100って出てきたので間違っているみたいですね。