
No.1ベストアンサー
- 回答日時:
ここで言う逆元とは、おそらく「乗法の」逆元のことですね?
ご質問で出された例で言えば、
5y ≡ 1(mod 13)となるyを求めよ、という意味だと思います。
この場合なら逆元は8で、
5×8 = 40 = 13×3 + 1 ≡ 1(mod 13)となっています。
すなわち、13p + 5q = 1となる整数p,qを
一組求めれば、そこから逆元は求まります。
いま、便宜的に「13×● + 5×▲」の形を
「基準形」と呼ぶことにします。
目標は「『1』を基準形に書き直す」ことになりますね。
これを行なうにあたってEuclid互除法がどのように役立つのか?
まず13と5に対し互除法を実行してみます。
13 ÷ 5 = 2 余り 3
5 ÷ 3 = 1 余り 2
3 ÷ 2 = 1 余り 1
というふうに、13と5は互いに素ですから、
「余りが1になる」まで行き着きます。
さて、上の式たちを「余り = ……」の形に書き換えると
(a) 3 = 13 - 5×2
(b) 2 = 5 - 3×1
(c) 1 = 3 - 2×1
となります。(a)を見ると、
「『3』が基準形に書き直されたもの」
と見ることができます。
すると、これを(b)に代入すれば
(b')2 = 5 - (13 - 5×2)×1 = 13×(-1) + 5×3
と、『2』も基準形に書き直されました。
さらに(a)と(b')を(c)に代入すれば
1 = (13 - 5×2) - [13×(-1) + 5×3]×1
= 13×2 + 5×(-5)
と、ついに『1』が基準形で表されたことになります。
以上より、5×(-5) ≡ 1(mod 13)
したがって「y = -5 + 13n」の形をしたものはすべて
5y ≡ 1(mod 13) を満たします。
n = 1とすれば逆元8が求まります。
もう1つだけ例題をやってみましょう。
「31を法とする12の乗法の逆元は?」
▼印は基準形で書かれた箇所です。
(解)互除法にて
31 = 12×2 + 7
12 = 7×1 + 5
7 = 5×1 + 2
5 = 2×2 + 1
すなわち
(a)7 = 31 - 12×2▼
(b)5 = 12 - 7×1
(c)2 = 7 - 5×1
(d)1 = 5 - 2×2
(a)を(b)に代入して
(b')5 = 12 - (31 - 12×2) = 31×(-1) + 12×3▼
(a)(b')を(c)に代入して
(c')2 = (31 - 12×2) - [31×(-1) + 12×3]×1 = 31×2 + 12×(-5)▼
(b')(c')を(d)に代入して
1 = [31×(-1) + 12×3] - [31×2 + 12×(-5)]×2 = 31×(-5) + 12×13▼
したがって12×13 ≡ 1(mod 31)すなわち逆元は13となります。
参考URL:http://www.nara-edu.ac.jp/~asait/c_program/sampl …
この回答への補足
丁寧な回答ありがとうございます。
ですが、僕の勉強不足でわからないところが多々ありますのでよろしければ教えてください。
まず、13p+5q=1となるものを求めれば、なぜ逆元が求まるのですか?
それと、2=5-(13-5*2)*1=13*(-1)+5*3の真ん中から右の式へはどのように考えるのですか?
No.4
- 回答日時:
自動処理については、機能的にはできると思いますが
私はよく知りません(ごめん(^^;)実はVBをあまり使ったことがないのです)。
「Do while(1)」と書くと「Loop」までを無限に繰り返します。
このプログラムでは
途中の「If ... Then GoTo Ext」で「:Ext」の位置に飛ぶことで
ループを抜け出しています。
Int(x)は「xを超えない最大の整数」です。
例えばInt(3.14) = 3、Int(-4,2) = -5となります。
No.3
- 回答日時:
ExcelのVBAのプログラムを示します。
セルA1に値を、B1に法を入れて走らせれば
C1に最大公約数が、D1に逆元が表示されます。
不当な値を入れた場合の処理は
盛り込んでいないので注意してください。
Sub Euclid()
a = Cells(1, 1): b = Cells(1, 2)
x = a: y = b: z = 1: w = 0
Do While (1)
q = Int(x / y)
r = x - q * y
If r = 0 Then GoTo Ext
x = y
y = r
tmp = z
z = w
w = tmp - q * w
Loop
Ext:
w = w - (Int(w / b)) * b
If w < 0 Then w = w + b
Cells(1, 3) = y
If y = 1 Then Cells(1, 4) = w Else Cells(1, 4) = "逆元なし"
End Sub
この回答への補足
Do while (1)とIntは、どういう意味なんですか?
あと、数値とか法の数とかを変えたときに勝手にマクロを実行するようにできますか?
No.2
- 回答日時:
「補足」を拝見しました。
分からないところがあれば何度でも聞いてください。
>13p+5q=1となるものを求めれば、なぜ逆元が求まるのですか?
逆元の定義はOKですか?
「自分と演算したら単位元になる相手」でしたね。
んでもって単位元とは
「誰と演算しても相手を変化させないヤツ」です。
modの世界では加法の単位元は0、乗法の単位元は1です。
したがって、「5の(mod 13)における乗法の逆元」といえば、
5×● ≡ 1(mod 13)、すなわち
[5×●] ÷ 13 = ■ 余り 1
となる●を求めればよい。
例えば、あてずっぽうに「●は7かな?」と試すと、
5 × 7 = 35
35 ÷ 13 = 2 余り 9
となって、余りが1にならないのでダメ(逆元でない)です。
これに対し「●は8だろうか」と試せば
5 × 8 = 40
40 ÷ 13 = 3 余り 1
となり、「ビンゴ!」です。
上の2式をまとめて書き直すと、
5×8 = 13×3 + 1
という形をしています。「13×3」を移項すれば
13×(-3) + 5×8 = 1
となり、右辺の「1」を左辺の「13p + 5q」の形に
書き換えたことになります。
だから、「1」を「基準形」に変形することが目標となるわけです。
>2=5-(13-5*2)*1=13*(-1)+5*3の真ん中から右の式へはどのように考えるのですか?
これは文字で書けば一目瞭然です。
数字のままだとどうしても計算してしまいたくなってしまいますよね(^^;)
そこをグッとこらえて、13と5は崩さずに変形しているのです。
なにせ「2」というシンプルな数を
わざわざ「13p + 5q」の形にしたいわけですから。
いま、13をs、5をtと書くことにして、
同じことをやり直してみます。
(a)3 = s - 2t
(b)2 = t - 3×1
(a)の「3」を(b)に代入すると
(b')2 = t - (s - 2t)×1 = -s + 3t
これを数字に戻すと
(b')2 = 13×(-1) + 5×3
となります。
この回答への補足
ありがとうございます。
わかりやすい説明で、すぐに理解することができました。
参考URLにC言語によるプログラムがあったんですけど、VBではないですか?
あと、EXCELでこれをするにはどうしたらいいですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「この2式の辺々を掛けて」とあ...
-
↓ すみません。 答え間違えま...
-
恒等式の定理の疑問
-
逆元の計算方法
-
整式P(x)をx²+x+1で割ると余...
-
剰余の定理の問題がわかりません
-
x^2-a^2=0 で、x=1が与式を...
-
数値代入法による恒等式の解説...
-
【等式 x+2y+3y=12を満たす自然...
-
xの二次関数y=x^2+2mx+3mの最小...
-
3次方程式を早く因数分解する方法
-
x,y,z,t∈R(実数)のと...
-
係数に 0 の多い連立方程式の解法
-
代入法なのに、逆の確認をしな...
-
算数をおしえてください。
-
マクローリン展開の問題です。
-
arctanxをf(x)とし、そのn回微...
-
高2数学の問題
-
5x+7y=1の整数解を全て求めよ ...
-
2a³ + 3a² - 5 = 0 の因数分解...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「この2式の辺々を掛けて」とあ...
-
逆元の計算方法
-
整式P(x)をx²+x+1で割ると余...
-
【等式 x+2y+3y=12を満たす自然...
-
arctanxをf(x)とし、そのn回微...
-
5x+7y=1の整数解を全て求めよ ...
-
数学の恒等式について質問です...
-
急ぎ目でお願いしますm(_ _)m ...
-
数値代入法による恒等式の解説...
-
数式の変形について(過程が分...
-
数学の公式に値を当てはめると...
-
複素関数 sin(x+iy)について
-
代入法なのに、逆の確認をしな...
-
(高3)4元2次方程式がとけません。
-
数列について
-
中3数学平方根その2
-
高校の数学についてです。 写真...
-
数1・A 条件つき最大最小問題
-
微分方程式の問題 回答の確認
-
2次方程式
おすすめ情報