重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

x(mod a)を引き算するのはa-x(mod a)を加えることによって実現出来る事を示せ、という問題があるのですが、問題の意味がよくわかりません。仮にzという数があるとすると、z-x(mod a) = z+(a-x(mod a))ということでしょうか?
でもそうすると、仮に5 mod 3 = 2、z = 10を考えると、10 - 2 ≠ 10 + (3 - 2)なので問題を取り違えていると思われます。おわかりの方いらっしゃったら教えて頂きたいです。変な質問ですみません。

A 回答 (2件)

z + (a - x (mod a)) という書き方に、勘違いのヒントがありそうです。


x (mod a) は、x と a から何かの値を求める演算ではありません。
x を a で割った余りが x (mod a) ということではないのです。

y = x (mod a) という式は、「(y - x) は a の整数倍だ」という意味です。
(mod a) は、右辺の一部ではなく、式全体もしくは = に付属しています。
一個の x に対して、y = x (mod a) を満たす y は、
y = x, x±a, x±2a, x±3a, … と無数にあります。
0 ≦ y < a でなければならない理由も特にありません。

10 - 2 と 10 + (3 - 2) の差は 3 ですから、
10 - 2 = 10 + (3 - 2) (mod 3) は、成立しています。
「だって、8 ≠ 11 じゃん」という誤解を避けるために、
10 - 2 = 10 + (3 - 2) (mod 3) の替わりに
10 - 2 ≡ 10 + (3 - 2) (mod 3) と書くことも多いですね。
どちらでも、意味は同じですが。

z - x と z + (a - x) の差が a の倍数なので、
z - x = z + (a - x) (mod a) は、成立するのです。
0 < x < a である場合には、0 < a - x < a ですから、
a で割った余りの引き算が a で割った余りの足し算に置き換えられた
ようにも見えます。しかし、x = 0 の場合を考えてみれば、
そうではないことが分かります。
    • good
    • 0
この回答へのお礼

よくわかりました。そうすると、z-x = ak(kは整数)とすると、z+a-x = ak+a = a(k+1)、したがってaで割り切れるから成り立つ、といったところですよね。有り難うございました。

お礼日時:2008/08/12 23:03

おそらく、問題の意味は、


(z - x)(mod a) = (z + a - x)(mod a)
を示せ、ということだと思われます。

z < x の場合に、この手法が用いられます。
    • good
    • 0
この回答へのお礼

有り難うございました。

お礼日時:2008/08/12 23:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!