大数快速求模算法需要求一个大数(譬如100位的数)模(%)另一个数的算法,最好给出c++算法.并不需要简单的除法运算法则来求余数.对与三楼讲的模拟除法,我已经考虑了用数组来解决,试

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/26 06:49:45
大数快速求模算法需要求一个大数(譬如100位的数)模(%)另一个数的算法,最好给出c++算法.并不需要简单的除法运算法则来求余数.对与三楼讲的模拟除法,我已经考虑了用数组来解决,试

大数快速求模算法需要求一个大数(譬如100位的数)模(%)另一个数的算法,最好给出c++算法.并不需要简单的除法运算法则来求余数.对与三楼讲的模拟除法,我已经考虑了用数组来解决,试
大数快速求模算法
需要求一个大数(譬如100位的数)模(%)另一个数的算法,最好给出c++算法.并不需要简单的除法运算法则来求余数.
对与三楼讲的模拟除法,我已经考虑了用数组来解决,试着做了一点,太烦,耗时间。我想是否有移位、辗转相除等类似欧几里德求模逆元方法的,基于数论的算法(思想)。

大数快速求模算法需要求一个大数(譬如100位的数)模(%)另一个数的算法,最好给出c++算法.并不需要简单的除法运算法则来求余数.对与三楼讲的模拟除法,我已经考虑了用数组来解决,试
楼上的全不明白楼主的意思,楼主要的是算法,不是程序你们懂吗!
我只能说你们不懂什么叫真正的算法,你们只是计算机的傀儡,我看了你们回答非常生气,高校教出来的就是这种“人才”,连算法都不懂.还不如我一高中生.严重BS楼上的,尤其是说java语言的那位.
我来告诉你
这个问题用递推解决
首先要你承认一个公式,我是习惯pascal语言的,c++怕写错,反正只是算法,你忍一下.
不知道你要的算法是大整数对long取余还是大整数对大整数取余.
先说对long取余,这个简单
先承认两个公式:ab mod c=((a mod c)(b mod c)) mod c
(a+b) mod c=(a mod c+b mod c) mod c
然后递推,先算1 mod c,然后10 mod c ,100 mod c.用数组存一下,递推方法是10^n mod c=((10^(n-1) mod c)*10) mod c
再加,让k=0,
for a:=1 to l do
k:=(k+num[a]*exp10[a]) mod c
这样最后k就是结果.
补充:我不知道你说哪里耗时间,这个算法是位数的一次函数.
再说大整数对大整数取余,这个需要模仿你平常做的除法来做高精度除法,说明白了就是模拟除法,这个没什么好说的,只要你编程能力足够就写得出来,你可以上网上搜一下,我这就不写了,因为我也不能保证一次写对,因为写一个高精度除法需要高精度加法和乘法,代码稍微有点繁.
不bs楼上的了,我错了.lrj当然认识,见过他很多回了.我不是你说的那种被动接受的人,我们学校没有人懂,全部都是自学的,看到了你说用java解决很生气而己,楼主的意思是算法.
至于oier,我们都很崇拜lrj,市面上基本没有什么适合初学者的书,资来源是网络.
像很多高校,教出来的学计算机系的“程序员”根本不懂算法,导致很多程序效率低下,比如我曾看到一个ip地址数据库这位“牛”用o(n)的算法扫描找对应的ip地址,然后改成其它方法了居然还很高兴地说现在10几次就可以确定了.再比如我们的“老师”,从学校计算机系毕业,来了什么也不懂,最垃圾的模拟都不会,背包都不知道是啥,所以我内心里对一些人排斥.对不起.
但是有一点我不认同,不是大多数的oier都像你说的那样.
还有,就是我很不喜欢你的明白楼主是什么意思却不去回答而用java塘塞过去.
那不是狂妄,那是失望.这种问题竟然要等到我一个高中生来回答,而上面竟然又有人用java搪塞,我对现在算法普及程序感到非常的失望,很伤心.
一楼我不明白的就是你怎么估计?相当于你说你去买份饭没说怎么做,相当模糊,楼主要的是具体的算法.

大数快速求模算法需要求一个大数(譬如100位的数)模(%)另一个数的算法,最好给出c++算法.并不需要简单的除法运算法则来求余数.对与三楼讲的模拟除法,我已经考虑了用数组来解决,试 设计一个算法,求三个数中的最大数 求大数阶乘的快速算法!急大数阶乘的快速算法,最好能在30秒算出100000!能实现 在网上找到啦 一个软件 但不能察看源代码 而且本人数学不好 不能理解他的算法 java求最大数和次大数依次输入10个数,求他们的最大数和次大数. 设计一个求有限数列a1,a2,a3...a10中的最大数的算法 求高精度快速大数阶乘算法!1最好用vb.net,能在一分钟内计算出100000! 设计算法,求三个数中的最大数. 写出一个求A,B,C三个实数中最大数的算法,要求最大数用A输出,并画出流程图.怎写啊 急用! java 求最大数和次大数 要求用while用while循环语句,从键盘输入10个数,要求找出最大数和次大数 大数阶乘算法思想 大数分解已经被一个数学家解决,好象是05,还是07年,谁知道详细的内容告诉我下.我补充下,这是个快速分解大数的算法,我一时查不到,要知道分解一个400位的大数的时间是10的10次幂年,这个算法 求C或者C++判断一个大数是不是素数,随机产生一个大素数的算法.大素数指10的50次方以上的数,这些太小了,我用了拉兵米勒方法,就是时间复杂度太大,运算一个大数可能要1个星期,求具体算法, 求一个大数N对3的余数( 1 ≤ N ≤ 10^64 ) #includestdio.h main() { double N; while(scanf(%lf,&N大数求余 用C语言设计求三个数中最大数的算法 设计一个算法,输入三个数,输出最大数看不太懂, 大数阶层的算法 C# 设计一个程序求a,b,c中最大数的算法(并写出程序框图要图啊)谢谢啦给好评 设计一个程序求a,b,c中最大数的算法(并写出程序框图要图啊)谢谢啦给好评^v^