如何在 Casio fx-991ES 计算器中计算 Mod b
Posted
技术标签:
【中文标题】如何在 Casio fx-991ES 计算器中计算 Mod b【英文标题】:How to calculate a Mod b in Casio fx-991ES calculator 【发布时间】:2012-01-15 05:45:11 【问题描述】:有谁知道如何在卡西欧 fx-991ES 计算器中计算 mod b。谢谢
【问题讨论】:
你应该真正使用谷歌机器。看这里:thestudentroom.co.uk/showthread.php?t=38469 +1 用于询问卡西欧计算器相关问题。 这个问题似乎离题了,因为它与编程无关 @bummi 我们不应该把它移到 math.stackexchange 吗? 我投票决定将此问题作为离题结束,因为它与help center 定义的编程无关。 【参考方案1】:这个计算器没有任何模函数。但是,有一种非常简单的方法可以使用显示模式 ab/c
(而不是传统的 d/c
)来计算模数。
如何将显示模式切换为ab/c
:
ab/c
(编号1)。
现在进行计算(在比较模式下),例如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/8
,所以mod 是4
。
编辑: 正如@lawal 正确指出的那样,这种方法对负数来说有点棘手,因为结果的符号是负数。
例如 -121 / 26 = -4 17/26
,因此,mod 是 -17
,即 mod 26 中的 +9
。或者,您可以将模基添加到负数的计算中:-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
【讨论】:
@simpatico 因为 200^5 超出了 calc 的精度范围,您需要使用代数中的一些技巧。例如:200^5 mod 391 = (200^3 mod 391) * 200^2 mod 391 = 98(您可以在计算过程中的“任何时间”使用 mod)。 这个结果对于负数是不准确的。例如:-121 mod 26 = 9 因为 -121 = -5*26 + 9。但是 121 mod 26 = 17 因为 121 = 4*26+17。 如果是十进制数怎么办。喜欢 -1/2 mod 23? William Stalling(网络安全和密码学)说是 11,但我不明白如何。 另外,分母必须与原分数相同,否则分子中的值将不是正确的模数。 正如@powersource97 正确指出的那样,得到的分母应该相等。拿 f.e.288 mod 21
;结果将显示为13 5/7
。如您所见,分母与 21 不同;所以,你必须将分子乘以21/7 = 3
。那么答案就是5 x 3 = 15
。【参考方案2】:
据我所知,该计算器不提供 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。
【讨论】:
如果我的计算器中没有基础机制,如何通过计算器将十进制转换为二进制对话? 我可以按照上述步骤找到负数的模数吗?例如 -151 mod 26 @Faizan 这是一个单独的问题/问题,请尝试提出您自己的问题(如果它不存在)。但我发现最简单的方法是将其转换为十六进制,然后立即转换为二进制(即 Dec 10 = Hex A = Binary 1010)。有相对简单的方法可以在非常非常大(或非常非常小!)指数十进制值与十六进制之间进行转换,google 'em。我不得不在第一年的 CS 考试题中使用它们。如果您需要检查任何东西的二进制文件,请始终使用十六进制而不是十进制。 @RohitKiran 如果将 26 的 n 倍数加(而不是减)到 -151,直到得到正值 x s.t。 0 ≤ x 但是在这种情况下,如果小数值非常大,则 iun 结果将被四舍五入,您无法得到正确的结果【参考方案3】:你需要 10 ÷R 3 = 1 这将同时显示提醒和商数
÷R
【讨论】:
这到底是什么型号?在我的 Casio fx-991ES PLUS 上没有这个 R 按钮:( 请注意,虽然显示的余数对于单个除法是正确的,但在较大的表达式中,运算符不会充当模运算符。来自手册:如果 ÷R 计算是多步计算的一部分,则只有商会传递到下一个操作。例如。 (2÷R3 + 3÷R3) = 1,但是 (2mod3 + 3mod3) = 2 我认为这是卡西欧 fx-115ES PLUS。 谢谢,它工作得很好,你应该更高。我有一台 fx-991sp x II,它运行良好。正是我想要的。 其他计算器可能仍然在不同的位置有这个按钮;我有 fx-300es plus,它对我来说是 [shift]+[Abs] 而不是此处显示的 [alpha]+[fraction] 按钮【参考方案4】:有一个开关a^b/c
如果要计算
491 mod 12
然后输入 491 按 a^b/c 然后输入 12。然后你会得到 40,11,12。这里中间的答案就是 11。
同样如果你想计算41 mod 12
然后找到41 a^b/c 12。你会得到3、5、12,答案是5(中间那个)。 mod
始终是中间值。
【讨论】:
为什么它没有用?这不是直接的方法..但我们可以找到答案 我没有投反对票,但您的答案使用的方法与投票最高的答案完全相同(您在 4 个月后写了它)。此外,它的解释非常糟糕。 @Jerry 实际上,一些计算器(卡西欧)有一个直接的a^b/c
按钮,甚至没有与最佳答案相对应的任何功能,我认为这是针对 TI 计算器的。我一直在网上搜索关于如何使用a^b/c
来计算我的卡西欧 fx-9750GA PLUS 上的整数除法余数的简单解释,在 Ajoy 的编辑之后,这非常简单。
我应该注意,即使这样可以节省时间,但它仍然与大值不兼容(即 10 位 +)
45 a^b/c
6 给出中间值 1。而实际模数是 3 怎么来的?【参考方案5】:
您可以使用以下方法计算 A mod B(对于正数):
Pol( -Rec( 1/2πr , 2πr × A/B ) , Y ) ( πr - Y ) B
然后按 [CALC],输入 A 和 B 的值,以及 Y的任何值>.
/ 表示使用分数键,r 表示弧度 ( [SHIFT] [答案] [2])
【讨论】:
函数太复杂了,我连打字都打不准!无论如何,Pol 和 Rec 之间的上标减号是什么?? 哦,这只是一个减号!为什么是上标??【参考方案6】:这是我通常的做法。比如计算1717 mod 2
:
1717 / 2
。答案是 858.5
现在取 858 乘以 mod (2
) 得到 1716
最后,减去原始数字 (1717
) 减去上一步得到的数字 (1716
) -- 1717-1716=1
。
所以1717 mod 2
是1
。
总而言之,您所要做的就是将小数点前的数字与 mod 相乘,然后从原始数字中减去。
【讨论】:
【参考方案7】:这一切都回到了模数的定义:它是余数,例如,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
【讨论】:
你的方法是正确和明显的,但对于大多数情况下你甚至需要一个计算器是不切实际的。在离散数学考试中说,如果你试图找出非常大的指数的同余性,那么这种方法直接是不可能的,并且间接地太慢了——你通常需要在考试中做一些 RSA 加密/解密如果没有内置的 mod 功能,它会占用太多时间。甚至我们的讲师也告诉我们这一点。不是对您的答案的批评,只是值得指出它的实际限制。【参考方案8】:先输入普通除法,然后输入 shift + S->d
【讨论】:
【参考方案9】:注意:数学错误意味着一个 mod m = 0
【讨论】:
【参考方案10】:计算x/y
(这里是你的实际数字),然后按a b/c键,它是Shift键下面的第三个键。
【讨论】:
【参考方案11】:只需将数字相除,即可获得十进制格式甚至数字格式。使用 SD
例如:11/3 给你 3.666667 和 3 2/3(使用 SD 交换)。 这里 2/3 中的“2”是你的 mod 值。
同样,18/6 给你 14.833333 和 14 5/6(使用 SD 交换)。 这里 5/6 中的“5”是你的 mod 值。
【讨论】:
以上是关于如何在 Casio fx-991ES 计算器中计算 Mod b的主要内容,如果未能解决你的问题,请参考以下文章