如何在Casio fx-991ES计算器中计算Mod b


92

有谁知道如何在Casio fx-991ES计算器中计算Mod b。谢谢


1
您应该真正使用Google机器。看这里:thestudentroom.co.uk/showthread.php?t=38469
Blender

6
+1询问与卡西欧计算器有关的问题。
约翰·亚历克斯

3
这个问题似乎
不切实际,

@bummi我们不应该将其移到math.stackexchange吗?
本杰明·R

2
我投票结束这个问题是因为题外话,因为它与帮助中心所定义的编程无关。
TylerH

Answers:


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 is 5)。如果您没有看到任何分数,则mod 0就像50 / 5 = 10(mod是0)。

剩余部分以简化形式显示,因此60 / 8将导致7 1/2。余数是1/2它是4/8如此MOD被4

编辑:正如@lawal正确指出的那样,该方法对于负数有点棘手因为结果的符号将为负。

例如-121 / 26 = -4 17/26,因此,mod为-17这是+9在模26。或者可以将模碱添加到计算为负数:-121 / 26 + 26 = 21 9/26(mod为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超出calc的精度范围,因此您需要使用代数的一些技巧。例如: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。
法律

如果是十进制数怎么办。像-1/2 mod 23一样?William Stalling(网络安全和密码学)说它的11,但我不知道如何。
2014年

@Sohaib我想这取决于您对模运算的定义。我可以想象非常简单地将模运算扩展为实数,其定义方式与整数除法后的提醒类似。在这种情况下3.14159 mod 1.4将是0.341593.14159 = 2 * 1.4 + 0.34159)。以同样的方式,您可以说,如果提示为负,则将其变为正,这样您的示例-0.5 mod 23将出现22.5在我的书中。但是同样,某些应用程序可能以不同的方式定义模。
NightElfik

1
同样,分母必须与原始分数相同,否则分子中的值将不是正确的模。
powersource97年

48

据我所知,该计算器不提供mod功能。但是,您可以以相当简单的方式手动对其进行处理。例如

(1)50模式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。


如果我的计算器中没有bases机制,如何将十进制转换为二进制对话?
Faizan 2014年

我可以按照上述步骤找到负数的模数吗?例如-151 mod 26
Rohit Kiran 2014年

@Faizan,这是一个独立的问题/问题,请尝试提出您自己的问题(如果尚不存在)。但是我发现最简单的方法是将其转换为十六进制,然后立即转换为二进制(即Dec 10 = Hex A = Binary 1010)。有相对简单的方法,可以在非常大(或非常小!)的指数十进制值和十六进制google'em之间切换。我必须在第一年的CS考试问题中使用它们。如果您需要检查任何二进制文件,则始终以十六进制而不是十进制工作。
本杰明·R

@RohitKiran如果将(而不是减去)n的26的倍数加到-151,直到得到正值x st 0≤x <26,那么您将看到-151 x(mod 26)。或者,换句话说,只需使用-26即可,然后从步骤(2)开始。顺便说一下,这太慢了,因此不切实际。但这仍然值得了解。
本杰明·R

但是在这种情况下,如果分数值非常大,则结果将四舍五入,您将无法获得正确的结果
HMS

15

您需要10÷R 3 = 1 这将同时显示提醒和数量


÷R

在此处输入图片说明


6
究竟是哪种型号?在我的Casio fx-991ES PLUS上,没有这个R按钮:(
Bak Itzik

1
请注意,虽然显示的余数对于单个除法是正确的,但在较大的表达式中,该运算符将不充当模运算符。在手册中:如果÷R计算是多步计算的一部分,则仅将商传递给下一个运算。例如。(2÷R3 + 3÷R3)= 1,但是(2mod3 + 3mod3)= 2
mtone

我认为这是Casio fx-115ES PLUS。
拉斐

1
谢谢,它运作完美,您应该更高。我有一个fx-991sp x II,效果很好。正是我想要的。
JFValdes

14

有一个开关 a^b/c

如果要计算

491 mod 12

然后输入491按 a^b/c输入12。然后您将得到40、11、12。这里的中间答案是11。

同样,如果要计算,41 mod 12则找到a^b/c4112。您将得到3、5、12,答案为5(中间一个)。该mod总的中间值。


为什么它没有用?它不是直接的方法..但是我们可以找到答案
shantocv

4
我没有拒绝投票,但是您的答案使用的方法与投票最高的方法完全相同(并且您在4个月后写出了答案)。同样,它也很难解释。
zurfyx 2014年

1
@Jerry实际上,某些计算器(Casio)有一个直接a^b/c按钮,甚至没有对应于最高答案的任何功能,我认为这是针对TI计算器的。我一直在互联网a^b/c上搜寻有关如何用于计算我的Casio fx-9750GA PLUS上的整数除法余数的简单解释,这在Ajoy编辑之后非常简单。
本杰明·R

但是,我应该指出,即使这样做可以节省时间,但仍与大数值(即10位数字+)不兼容
Benjamin R

2
45 a^b/c6给出中间值1,而实际模数是3呢?
venkatvb

11

您可以使用以下公式计算A mod B(用于正数):

POL(-REC(1 / [R,2π [R × / ),Y)(π - [R - Y)乙

然后按[CALC],为AB输入值,为Y输入任何值。

/表示使用分数键,r表示弧度[SHIFT] [Ans] [2]


函数太复杂了,我什至无法正确输入它!无论如何,Pol和Rec之间的上标减号是什么?
米娜·迈克尔

哦,这只是减号!为什么上标?
米娜·迈克尔

3

一切都归结为模数的定义:它是余数,例如7 mod 3 =1。这是因为7 = 3(2)+ 1,其中1是余数。

要在一个简单的计算器上执行此过程,请执行以下操作:取除数(7)除以除数(3),记下答案并舍弃所有小数点->示例7/3 = 2.3333333,只担心2。现在,将该数字乘以除数(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 21

总结一下,您要做的就是将小数点前的数字乘以mod,然后从原始数字中减去它。


2

先输入正态除法,然后输入shift + S-> d


1

计算x/y(此处为您的实际数字),然后a b/c按键,该Shift键位于键下方第三位。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.