大一离散数学题求助!各种进制下,如何判断两个数相乘的结果是否正确?

2022-01-20 19:24:50 +08:00
 logiclee
例如:
九进制 12*8= 106 还是 107 ?
十进制 121225*124124= 15046931900 还是 15036931900 ?
以此类推

有什么快速通用的计算方法吗?老师提示用模运算解决,完全想不到╥﹏╥
2326 次点击
所在节点    数学
25 条回复
2i2Re2PLMaDnghL
2022-01-21 15:37:29 +08:00
@ilylx2008 你用不用 and 和 or ?基本逻辑运算也是离散数学。
一切编码都是离散数学。(包括浮点数,尽管它很像连续的)
正则表达式涉及自动机理论。
图灵机、Lambda Calculus 也都是离散数学。

离散数学名字高大上,其实也不是多复杂的东西。
具体而言,差不多计算机中一切需要严谨的地方都是离散数学,尽管平日里没有人会关注它。
当然,其中也有不是完全的离散数学的情况,大多也是离散与连续混合数学(『使用离散的方法去逼趋连续』,对此是有特别的研究的,比如发生混沌现象时单一模拟会失效),真搞纯连续数学,我觉得现在高度数字化的传统计算机放块 4T 硬盘都不够存哪怕一个数的。量子计算机能不能?那我就不知道了。
rogerer
2022-01-21 22:21:23 +08:00
@logiclee 应该是近世代数部分有讲?不过近世代数一般不作为离散数学看待了。
johnsonqrr
2022-01-22 00:39:40 +08:00
建议改成大一女生离散数学求助,回复多十倍
tokubararonggeng
2022-02-07 23:14:35 +08:00
难道不是用计算器算嘛? 随便什么语言, java, python, javascript, 都可以吧. 感觉这种问题没啥实际意义.
albertni
2022-02-12 01:56:04 +08:00
这么多楼没有正面解答的,我补充一个答案吧
用 n 进制表达时,100000=1 ( mod n-1 ),不管有几个 0 ,而 mod 运算在加减乘后保持不变。
因此对 n 进制下用 abcde 表示的数,有
abcde =a×10000+b×1000+c×100+d×10+e
因此 abcde ( mod n-1 )=a ( mod n-1 )+b ( mod n-1 )+c ( mod n-1 )+d ( mod n-1 )+e ( mod n-1 )=( a+b+c+d+e )( mod n-1 )
也就是把各位数字加总,对 n-1 取余数,等于原数字除 n-1 的余数
所以第一题 12*8=( 1+2 )*8=0=( 1+0+7 )=107 ( mod 8 )
第二题 121225*124124=13*14=4*5=20=2=1+5+0+4+6+9+3+1+9+0+0=15046931900 mod 9

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/829545

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX