4

次の式を検討してください。

(a - b) mod N

次のうち、上記の式に相当するものはどれですか?

1) ((a mod N) + (-b mod N)) mod N

2) ((a mod N) - (b mod N)) mod N

また、(-b mod N) はどのように計算されますか。つまり、負の数の mod はどのように計算されますか?

ありがとう。

4

3 に答える 3

5

複雑な数学的概念で煩わされたくないので、簡単にしようと思います。a = b (mod c) と言うとき、単に ab が c の倍数であると言うだけです。これは、mod c の値を知りたい場合、それが a または ac または a+c または a+1000*c であると言って、真であることを意味します。したがって、2 つの式は有効です。

しかし、あなたが知りたいのは、コンピューターがあなたに与える答えを知ることですよね? まあ、それはあなたが使用している言語に依存します。たとえば Java では、a mod b は a の符号を持ち、絶対値は b より厳密に劣っています。つまり、a = 7、b = 3、N = 5、(ab)%N = 4 の場合、2 つの式は -1 を返します。

モジュロを使用して算術演算を行いたい場合は、独自の mod 関数を作成することをお勧めします。たとえば、常に正の整数が得られます。このようにして、2 つの式は常に元の式と等しくなります。

疑似コードの例:

function mod (int a, int N)
  return (a%N+N)%N
于 2013-10-09T07:57:41.713 に答える
1

答えは選択肢a

説明を参照してください

http://naveensnayak.wordpress.com/2009/12/21/modulus-of-negative-numbers/

http://answers.yahoo.com/question/index?qid=20080922034737AAsFEfY

于 2014-03-02T13:45:44.863 に答える