算法作业:分治法求a的n次方
摘要:问题描述:分治的方法求an算法分析:如果 n 是偶数,可以分为 (an/2)*(an/2) 算法复杂度基本降低一半如果 n 是奇数,可以分为(an/2)*(an/2)*a 算法复杂度也基本降低一半如果 n == 1 ,则直接返回 a代码实现:#include<stdio.h>#include<math.h>intcalc(inta,intn){if(n==1)returna;if(n%2==0)returnpow(calc(a,n/2),2);returnpow(calc(a,(n-1)/2),2)*a;}intmain(){puts("Tocalculato
阅读全文
posted @ 2012-03-04 19:39