はい
感想などまとめです。
なお、普段の競プロと違い、Python (Python3) で書いていきます。
制限時間とかないので安心ですね。
1. fizzbuzzっぽい。if, forって知ってますか?
2. 再帰とかを使うまでもなさそう。Python で再帰ってどう書くんでしたっけ...
3. まあ割りまくればいいんじゃないの
4. 回文だるいけど、Pythonだと「文字列にする」→「反転する」→「数値に戻す」という操作ができた。べんり〜
5. math.gcd チートがすぎひんか?C++で再帰していたのはいったい...
6. ナメてる?
7. 篩。N以下を調べるなら、愚直な実装で O(Nlog N). Pythonで配列を使うの慣れてなかった。まとめる。
- 初期化 たとえば全部 0 で N 個埋めるなら [0] * N とする。
- 追加 list.append(ほげ)
- 削除はpop()かremove(). またあとで使ったときに。
- 長さはlen()
ちなみに素数の個数は
1e2 以下 25
1e3 以下 168
1e4 以下 1229
1e5 以下 9592
1e6 以下 78498
1e7 以下 664579
素数定理でだいたい n / ln(n) でしたね。
8. そう... 数列を表してると思わなくて最初わけわからんかった("in """the""" 1000-digit number" やめろ)。まあ、うん。
9. (8, 15, 17) を想起すればコードを書くまでもなかったなぁ...
10. 素数が好きすぎる。7 を流用。