*************************************(1)****************************************************假如需要计算n+16的阶乘,n+16接近10000,已经求得n
(共有m个单元),(每个单元用一个long数表示,表示1-100000000)第一种算法(传统算法)计算(n+1)
需要m次乘法,m次加法(加法速度较快,可以不予考虑,下同),m次求余(求本位),m次除法(求进位),结果为m+1的单元计算(n+2)
需要m+1次乘法,m+1次求余,m+1次除法,结果为m+1个单元计算(n+3)
需要m+1次乘法,m+1次求余,m+1次除法,结果为m+2个单元计算(n+4)
需要m+2次乘法,m+2次求余,m+2次除法,结果为m+2个单元计算(n+5)
需要m+2次乘法,m+2次求余,m+2次除法,结果为m+3个单元计算(n+6)
计算(n+7)
计算(n+8)
计算(n+9)
计算(n+10)
计算(n+11)
计算(n+12)
计算(n+13)
计算(n+14)
需要m+7次乘法,m+7次求余,m+7次除法,结果为m+7个单元计算(n+15)
需要m+7次乘法,m+7次求余,m+7次除法,结果为m+8个单元计算(n+16)
需要m+8次乘法,m+8次求余,m+8次除法,结果为m+8个单元该算法的复杂度:共需:m+(m+8)+(m+1+m+7)*7=16m+64次乘法,16m+64次求余,16m+64次除法第二种算法:1
将n+1与n+2相乘,将n+3与n+4相乘,将n+5与n+6
n+15与n+16,得到8个数,仍然叫做n1,n2,n3,n4,n5,n6,n7,n82
n1与n2相乘,结果叫做p2,结果为2个单元,需要1次乘法
p2与n3相乘,