カシオFX-991ES電卓でMod Bを計算する方法


92

Casio fx-991ES CalculatorでMod bを計算する方法を知っている人はいますか?ありがとう


1
あなたは本当にグーグルマシンを使うべきです。ここを見てください:thestudentroom.co.uk/showthread.php?t
Blender

6
カシオ計算機関連の質問をするための+1。
John Alexiou

3
この質問はプログラミングに関するものではないため、トピックから外れているようです
bummi

@bummiはそれをmath.stackexchangeに移動するべきではないのですか?
ベンジャミンR

2
ヘルプセンターで定義されているプログラミングに関するものではないため、この質問はトピック外として締めくくります
TylerH 2016年

回答:


133

この計算機にはモジュロ関数はありません。ただし、ab/c(従来のの代わりにd/c)表示モードを使用してモジュロを計算する方法は非常に簡単です。

表示モードを切り替える方法ab/c

  • 設定(Shift+ Mode)に移動します。
  • 下矢印キーを押します(詳細設定を表示します)。
  • ab/c(番号1)を選択します。

次に、(compモードで)計算を実行します。これで、50 / 3が表示16 2/3され、modがになり2ます。または試みる54 / 7ある7 5/7(modはあります5)。あなたが任意の割合が表示されない場合は、modがある0ように50 / 5 = 10(modはあります0)。

残りの端数は縮小形式で表示さ60 / 8れるため、になり7 1/2ます。残りはある1/2ある4/8modがあるので4

編集:@lawalが正しく指摘したように、この方法は、結果の符号が負になるため、負の数に対しては少し注意が必要です。

たとえば-121 / 26 = -4 17/26、したがって、mod is -17+9mod 26に含まれます。あるいは、負の数の計算にモジュロベースを追加することもできます-121 / 26 + 26 = 21 9/26(mod is 9)。

EDIT2:@simpaticoが指摘したように、この方法は電卓の精度が不足している数値に対しては機能しません。計算したい場合は200^5 mod 391、代数からのいくつかのトリックが必要です。たとえば、ルール (A * B) mod C = ((A mod C) * B) mod Cを使用して次のように記述できます。

200^5 mod 391 = (200^3 * 200^2) mod 391 = ((200^3 mod 391) * 200^2) mod 391 = 98


6
@simpaticoは、200 ^ 5が計算の精度の範囲外であるため、代数のトリックを使用する必要があります。例:200 ^ 5 mod 391 =(200 ^ 3 mod 391)* 200 ^ 2 mod 391 = 98(計算中はいつでもmodを使用できます)。
NightElfik、2012年

1
この結果は、負の数では不正確になります。例:-121 mod 26 = 9(-121 = -5 * 26 + 9であるため)。ただし、121 mod 26 = 17(121 = 4 * 26 + 17であるため)。
法律14

10進数の場合はどうでしょうか。-1/2 mod 23のように?William Stalling(Network Security and Cryptography)はその11を述べていますが、私はその方法を理解していません。
Sohaib 2014年

@Sohaibモジュロ演算の定義に依存すると思います。整数除算後のリマインダーと同様の方法で定義される実数へのモジュロ演算の非常に単純な拡張を想像できます。その場合3.14159 mod 1.40.341593.14159 = 2 * 1.4 + 0.34159)になります。同じように、リマインダーがネガティブな場合は、それをポジティブに変更して、あなたの例-0.5 mod 2322.5私の本に載ると言えるでしょう。しかし、繰り返しになりますが、いくつかのアプリケーションは異なる方法でモジュロを定義するかもしれません。
NightElfik 14

1
また、分母は元の分数と同じである必要があります。そうでない場合、分子の値は正しいモジュロにはなりません。
powersource97

48

私の知る限り、その計算機はmod関数を提供していません。ただし、かなり簡単な方法で手動でコンピュータで処理できます。例

(1)50 mod 3

(2)50/3 = 16.66666667

(3)16.66666667-16 = 0.66666667

(4)0.66666667 * 3 = 2

したがって、50 mod 3 = 2

注意事項:3行目では、2行目からの結果を見て、小数点以下のすべてを無視して「マイナス16」を取得しました。行(4)の3は行(1)の同じ3です。

お役に立てば幸いです。

編集いくつかの試行の結果として、x.99991が得られる場合があり、それをx + 1に切り上げます。


電卓に基本メカニズムがない場合、電卓で10進数を2進数の会話に変換するにはどうすればよいですか?
ファイザン、2014

上記の手順に従って、ネガの係数を見つけることはできますか?例-151 mod 26
Rohit Kiran 2014

@Faizanこれは別の質問/問題です。自分で質問してみてください(まだ存在しない場合)。しかし、私が見つける最も簡単な方法は、それを16進数に変換し、それを即座に2進数に変換することです(つまり、Dec 10 = Hex A = Binary 1010)。非常に大きい(または非常に小さい!)指数10進数値から16進数、google 'em 初年度のCS試験の質問の1つでそれらを使用する必要がありました。何かのバイナリをチェックする必要がある場合は、とにかく10進数ではなく常に16進数で作業してください。
ベンジャミンR

@RohitKiran正の値x st 0≤x <26が得られるまで、26のn倍数を-151に(減算ではなく)追加すると、-151≡x(mod 26)と表示されます。または、別の言い方をすれば、代わりに-26を使用して、ステップ(2)から続けます。ちなみに、これは遅すぎるため実用的ではありません。しかし、それはまだ知る価値があります。
ベンジャミンR

しかし、この場合、小数値が非常に大きい場合、結果は丸められ、正しい結果が得られません
HMS

15

10÷R 3 = 1が必要です これにより、リマインダーと定理の両方が表示されます


÷R

ここに画像の説明を入力してください


6
正確にはどのモデルですか?私のカシオfx-991ES PLUSには、このRボタンはありません:(
Bak Itzik

1
表示される剰余は1つの除算に対して正しいものですが、より大きな式では、演算子はモジュロ演算子として機能しません。マニュアルから:÷R計算がマルチステップ計算の一部である場合、商のみが次の演算に渡されます。例えば。(2÷R3 + 3÷R3)= 1、ただし(2mod3 + 3mod3)= 2
mtone

カシオfx-115ES PLUSだと思います。
ラファイ

1
おかげで、それは完璧に機能します。私はfx-991sp x IIを持っていて、それは完璧に働きます。ちょうど私が探していたもの。
JFValdes

14

スイッチあり a^b/c

計算したい場合

491 mod 12

次に491 a^b/cを入力し、次に12を入力します。40、11、12を取得します。ここで真ん中の1が11の答えになります。

同様に計算したい場合41 mod 12、41 a^b/c12を見つけます。3、5、12が得られ、答えは5(真ん中)です。mod常に中間の値です。


なぜそれが役に立たないのですか?それはストレートな方法ではありません。しかし、答えを見つけることができます
shantocv 2013年

4
私は反対票を投じませんでしたが、あなたの回答は上位投票されたものとまったく同じ方法論を使用しています(そして、4か月後にそれを書きました)。また、それは非常にひどく説明されています。
zurfyx 2014年

1
@Jerry実際には、一部の計算機(Casio)にはまっすぐなa^b/cボタンがあり、トップの回答に対応する機能さえありません。私はa^b/cカシオfx-9750GA PLUSで整数除算の剰余を計算する方法を簡単に説明するためにインターネットを調査してきましたが、これはAjoyの編集後、信じられないほど簡単でした。
ベンジャミンR

私は、これは時間の節約にもかかわらず、それはまだ大きな値(すなわち10桁+)と互換性がないこと、しかし、注意してください
ベンジャミンR

2
45 a^b/c6は中間値1を示しますが、実際の係数は3ですが、どうしてですか?
venkatvb 2016年

11

これを使用して、A mod B(正の数の場合)を計算できます。

POL(-rec(1 / R、2π R × A / B)、Y)(π R - Y)B

次に、[CALC]を押して、ABの値、およびYの任意の値を入力します。

/は分数キーの使用を示し、rラジアンを意味します([SHIFT] [Ans] [2]


関数が複雑すぎるため、正しく入力することもできません。とにかく、PolとRecの間で上付きのマイナス記号は何ですか?
Mina Michael

ああ、それはマイナスです!なぜ上付き?
ミナマイケル

3

これはすべて、モジュラスの定義にフォールバックします。たとえば、7 mod 3 = 1などの剰余です。これは、7 = 3(2)+ 1であり、1が剰余であるためです。

単純な計算機でこのプロセスを行うには、次のようにします。次に、この数値に除数(3)を掛けて、元の被除数から結果の数値を引きます。

したがって、2 * 3 = 6、7-6 = 1、つまり1は7mod3です


1
あなたの方法は正確で明白ですが、そもそも電卓が必要になるようなほとんどの状況では実用的ではありません。離散数学の試験では、非常に大きな指数の合同を把握しようとしている場合、この方法は直接不可能であり、間接的に非常に遅くなります。通常、試験で少しRSA暗号化/復号化を行う必要があります。手と組み込みのmod機能がないと、時間がかかりすぎます。私たちの講師でさえこれを教えてくれます。あなたの答えに対する批判ではなく、それが実際的な制限であることを指摘するだけの価値があります。
ベンジャミンR


3

これが私が通常行う方法です。たとえば、次のように計算します1717 mod 2

  • 取る1717 / 2。答えは858.5です
  • 次に、858を取り、それをmod(2)で乗算して、1716
  • 最後に、元の数(1717)から前のステップで取得した)を引いた値をます1716- 1717-1716=1

そう1717 mod 2です1

これを要約するには、小数点の前の数値にmodを掛けて、元の数値から減算するだけです。


2

最初に通常の除算を入力してから、shift + S-> dと入力します


1

x/y(ここにあなたの実際の数字)を計算し、a b/cキーの下にある3番目のShiftキーを押します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.