模运算:
如果N 整除 A - B ,则A与B同与,记为A ≡ B(mod N)。例:81≡61≡1(mod 10)。如同等号的情况一样,若A ≡ B(mod N),则A+C ≡ B + C(mod N) 以及AD ≡ BD (mod N);
递归调用的四条基本法则:
1、基准情形:必须总要有某些基准情形,它无需递归就能解出。
2、不断推进:对于那些需要递归求解的情形,每一次递归调用都必须要使状况朝向一种基准情形推进。
3、设计法则:假设所有的递归调用都能运行,
4、合成效益法则:在求解一个问题的同一实例时,切勿在不同的递归调用中做重复性的工作。
1.6 使用一下两个函数接口,使用递归将字符串 全排列输出(题目太长但意思是这个)
public void permute(String str);
private void permute(char[] str,int low,int high);
解:
假如将“abc” 全排列 以 a 为首的“abc”,"acb",以b为首的“bac”,"bca".所以要全排列字符串则首先将后面的字符分别调换位置。所以for 循环里 i 的初始化值为 low 保证了在第一次swap 函数是不会将第首位位置交换,递归调用 low+1 ,当low = high 两个位置的值不会交换,所以当low > high 时 控制台输出的数是 low = high - 1 也就是最后末尾两个交换值的数。
1.7 a.证明log x < x (x >0) b.log(A)^b = blogA;
证 a: 根据公式 x^a = y 则 log y = a (x 为底数);
设底数为2 ,logx = a 则:x = 2a
因为x > 0 所以 logx < x 得证;
证 b :
设:logA = x; 则2^x = A
log(A)^b = log(2^x)^b = log(2)^xb = xb ;
所以blogA = log(A)^b;
网友评论