エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
素数を法とする世界の逆元をまとめて計算
『整数xのmod pでの逆元を求めよ。』 と言われるとだいたい以下のいずれかの方法で解くと思います。 フ... 『整数xのmod pでの逆元を求めよ。』 と言われるとだいたい以下のいずれかの方法で解くと思います。 フェルマーの小定理を利用して、繰り返し二乗法でxp-2を求める。 拡張ユークリッドの互除法を使って、ax + py = 1という不定式を解く。 #include <iostream> #include <cassert> using namespace std; const long long MOD = 1e9+7; const int N = 1e6; long long inv[N]; int main(int argc, char **argv) { for (long long i = 1; i < N; i++) { inv[i] = (i == 1) ? 1 : (MOD - (MOD / i) * inv[MOD % i] % MOD); assert(inv[i] * i