BETA

8946 Take#9

投稿日:2018-11-24
最終更新:2018-11-24

http://www.hackerschool.jp/hack/take9.php

問題

解いてみた

  • ナンバーを入力するだけの問題です。
  • ナンバーの上の30ってところが、たぶん1秒で1増えていきます。
  • ちょっと様子をみていると59の次が0になりました。
  • きっと何かに使うんだろうと思いつつソースコードを見ましょう。

  • 突破するボタンを押した時の挙動「fn_check()」を見てみましょう。

  • 確証は持てませんが、どうやらanswerを990にして、ifの中に入ったら正解な気がします。
  • そのためにはanswerを導き出す式「( ( seconds * ( seconds - 1 ) ) / 2 )*(input_no % 2);」を解き明かす必要があります。
  • 入力されたナンバーがinput_noです。secondsは何かというと少し上のところに「sec」と書かれています。
  • secとか確実に1秒ごとに増えるやつのことだろうと思いつつ、念の為調べます。

  • あってたー。
  • それでさっきの式に戻ると「input_no % 2」に関しては2で割った余りなので0か1しかない。
  • しかもそれを掛け算しているのでこれはもう1にしておくしかない。
  • つまり奇数を入力しておけばなんでもいいじゃないか。
  • 一度整理すると ( seconds * ( seconds - 1 ) ) / 2 * 1 = 990となります。
  • 簡単にすると x * (x - 1) = 1980 です。
  • 今この記事を読んでいて「2次方程式って食べれるの?」って人はいないと思いますが、今の時代便利な世の中になっています。
  • まさかの自動で解いてくれるサイトがあるんです。
  • 「方程式 解く」でgoogle検索すると出てきました。
  • https://ja.numberempire.com/equationsolver.php です。

  • んー、すごい。
  • 今回の数値は0~59だったので44は不可。
  • ということで何か奇数を入力した状態で45が表示された瞬間に突破するボタンを押すのが正解。

  • 下の方切れてますがご勘弁を。。。
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@ThrD7trCDASscaEUの技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!