Competitive programming notebook
目次:
1. 整数
1.1. 約数と倍数
1.2. 合成数と素数
1.3. 素因数分解
1.4. 最大公約数と最小公倍数
1.5. 一次不定方程式の整数解
1.6. 整数の合同
2. 組み合わせ
3. データ構造とアルゴリズム
文字列
データ構造
動的計画法
グラフ
ゲーム
Competitive programming notebook
»
1.
整数
Edit on GitHub
1.
整数
¶
1.1. 約数と倍数
1.1.1. 約数列挙
約数とは
実装
コード
使用例
1.1.2. 倍数列挙
倍数とは
実装
コード
使用例
1.1.3. 約数の個数
数表を用いた高速化
実装
コード
使用例
1.2. 合成数と素数
1.2.1. 素数列挙
素数とは
実装
コード
使用例
1.3. 素因数分解
1.3.1. 素因数分解 (試し割り法)
素因数分解とは
実装
コード
使用例
1.3.2. 素因数分解 (SPF)
数表を用いた高速化
実装
コード
使用例
1.4. 最大公約数と最小公倍数
1.4.1. 最大公約数
最大公約数とは
法則
ユークリッドの互除法
実装
コード
使用例
1.4.2. 最小公倍数
最小公倍数とは
法則
実装
コード
使用例
1.5. 一次不定方程式の整数解
1.5.1. 一次不定方程式の整数解
一次不定方程式とは
ベズーの等式
拡張ユークリッドの互除法
実装
コード
使用例
1.6. 整数の合同
1.6.1. 整数の合同
合同算術とは
合同の定義
基本演算
1.6.2. 逆元
逆元とは
逆元の求め方
実装
コード
使用例
1.6.3. 素数を法とする逆元
フェルマーの小定理
実装
コード
使用例