' P '

whatever I will forget

周期性やパターンを見つけ出す

例題1 B - Choose Integers

これも全くわからず思考停止してすぐ解説見てしまった...
端的に言うと周期性を導き出せるかどうかの問題。
全く導けませんでした(笑)
かろうじてわかったのは、倍数の総和をBで割ったときの余りがCになる場合、書いてあったけど
要はA % B = Cになっていればよいな?というところまで... こういう周期性を導き出す問題は、とりえあず考察してみることが大事だと思いました。

考察

というわけで、A % B をやっていきます。
例題の A = 7, B = 5とすると、Aは7の倍数として増えていきます。

f:id:mankozooyork:20200531002543p:plain
確認すると、2,4,1,3,0が繰り返されていることがわかります。 Cは1なので、3番目に登場しているので、"YES"です。
A = 40, B = 98でやってみると、(長いので画像は無しですが)48個目にCである58が登場しました。
このことから、Bまでの間にもしCの値があれば、それは"YES"になりうる、ということです。 あとはこれをコードにするだけです。

例題2 B - Trained?

脳が疲れているような場合、絶対に解けない自信がありますw
これは一旦入力をarrayにしてみると、からくりが見えてきます
f:id:mankozooyork:20200606180625p:plain
あとはこの画像の通り、aのinputから-1したものがarray aのindex番号になるので、([]の中の数字)
ボタン2がのindex番号[1]にたどり着く可能性があるかどうか、N分ループして確認するだけ