なぜ高橋君は母親に数列を上げようとしたの…
一体その数列で何をするの…
なんかそういう本ないだろうか…
続きを読む解説動画: youtu.be
累積和を使う
ほへーって感じです。ほへー。
累積和はアルゴリズムの一つのようです。
解説放送
午前、午後合わせて10回の営業がある。
ただし、午前か午後、必ずどちらかに営業しなければならない。
ほかのお店も営業したりしなかったりしていて、他のお店と予定がぶつかると、それぞれどれくらいの利益になるのかを考えつつ、最大の利益が出せるように営業時間を決めるというはなし。
結局if(a~)あたりがよくわからぬ…
ハーシャッド数が分からず、ググったはいいが解き方がわからなかった問題。
例えば、195 は各位の和が 1 + 9 + 5 = 15 であり、15 は 195 の約数であるので 195 はハーシャッド数である
あ、なんか聞いたことあるような…?
博士の愛した数式だったかな?
123456を全部足すと、21になる
ということで、まずは全部足す。
足した合計21で元の数123456を割ったあまりがぴったりだと、ハーシャッド数であるといえる。
まず、一の位しかない数字(=10未満の数字)はそのまま使える。
他をどうするのか。
さっきの123456を見てみると、実は
12345 = 123456 / 10
6 = 123456 % 10
ということがわかる。
これにより、一番左端の桁の数字を取り出すことができる。
つまり、再起関数を使ってすべての桁の数を取り出し、計算することができる。
JavaScriptだったらそうしていたかな…
ああ、そうすればよかった…
AtCoderの解説動画も見つつ。AtCoder Beginner Contest 080 解説放送 - YouTube
簡単に解ける問題。
やることはこれだけ。
何に時間かかったっけかな…?忘れちゃった…
実行時間0msという謎コードがあったのでのぞいてみる。
scanfで入力を受け付け、printfで出力。 比較は…std::min()使っていますね。標準は基本早い子(例外あり)なので使ったほうがいいようだ。 それとも、私の場合は三項演算子がまずかったのだろうか…?多分そんな気がする。
とにかく、悩むところじゃない。
2017年12月8日 21:00。
「競技プログラミングの世界へようこそ!」の夜。
AtCoder Beginner Contest 080が始まりました。 AtCoder Beginner Contest 080 - AtCoder
結果は惨敗…