Algorithm

Advent of Code 2023 を完走した

毎年12月に開催されている Advent of Code に、2019年から参加している。 過去記事: Advent of Code 2019 に挑戦している - すぎゃーんメモ Advent of Code 2020 完答した - すぎゃーんメモ Advent of Code 2022 を完走した - すぎゃーんメモ 2023年のAdvent…

Advent of Code 2022 を完走した

毎年12月に開催されている Advent of Code に、2019年から参加している。 過去記事: Advent of Code 2019 に挑戦している - すぎゃーんメモ Advent of Code 2020 完答した - すぎゃーんメモ 2022年のAdvent of Codeにも挑戦していて、年が明けてしまったが先…

2023パズル をRustで解いてみる

tkihiraさんの問題が面白そうだったので挑戦してみた。 2023年クイズ!上の例のように、数字の合間に四則演算(+−×÷)や括弧を入れることで、2023 を作ってください。- 数字の間に必ず演算子を 1 つ入れてください- ただし 9 と 8 の間には既に ÷ が入って…

Bitboardでleading/trailing zerosを使って飛び駒の利きを求める

前置き 飛び利き計算いろいろ 基礎知識 縦型Bitboardでの香車の利き 角行・飛車の利き (Magic Bitboard / PEXT) Qugiyの手法 Leading/Trailing Zerosを使う 実験と考察 前置き Rustで将棋の高速合法手生成ライブラリを作り始めていて、 Rustでつくる もう一…

Rustでつくる詰将棋Solver

ついカッとなって先週からRustで詰将棋ソルバを書き始めてしまい、ようやくdf-pnで何らかの解答を出せるようになったところ。ここからもうちょっと調整していくぞ、、 pic.twitter.com/XM9iPJqocv— すぎゃーん (@sugyan) November 2, 2021 というわけで突然R…

N番目の素数を求める

SNSなどで話題になっていたので調べてみたら勉強になったのでメモ。 環境 Pythonでの実装例 例1 例2 例3 エラトステネスの篩 Rustでの実装例 試し割り法 エラトステネスの篩 アトキンの篩 おまけ: GMP Benchmark 高速化のテクニック 上限個数を見積もる Whee…